ASP.NETコアアプリケーションをAzureに公開するにはどうすればよいですか?ASP.NETコアアプリケーションをAzureに公開するPowerShell経由で502(Bad Gateway)をAzureに公開
私がこれまで行ってきたことは、Visual Studioでも使用されているdefault-publish.ps1スクリプトを呼び出す公式のAzure/Microsoftドキュメントから得たスクリプトを作成したことです。次のようにスクリプトが見えます:
param($websiteName, $packOutput)
$website = Get-AzureWebsite -Name $websiteName
# get the scm url to use with MSDeploy. By default this will be the second in the array
$msdeployurl = $website.EnabledHostNames[1]
$publishProperties = @{'WebPublishMethod'='MSDeploy';
'MSDeployServiceUrl'=$msdeployurl;
'DeployIisAppPath'=$website.Name;
'Username'=$website.PublishingUsername;
'Password'=$website.PublishingPassword}
$publishScript = "${env:ProgramFiles(x86)}\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\Publish\Scripts\default-publish.ps1"
. $publishScript -publishProperties $publishProperties -packOutput $packOutput
今、このスクリプトでは、Azureのウェブサイトの名前を提供し、DOTNETがアーティファクトを公開与えられ、デフォルト・publish.ps1スクリプトに呼びかけ。私はrepoにあるものに、default-publish.ps1スクリプトを正確に更新しました。
Azureに公開すると、502 Bad Gatewayエラーが返されるという問題があります。新しいツール更新を使用して作成されたプロジェクトであっても、Azureに正しく公開することはできません。
悪いゲートウェイは、アプリケーションがまったく起動していない可能性が高いことを意味します。アプリケーションをAzureにデプロイする前に、そのアプリケーションをどのように公開しますか?アプリケーションを公開した後のweb.configの外観はどうですか?私はあなたのweb.configには単にプレースホルダーの値があるということが起こると思います。あなたの設定を修正するためにアプリケーションを公開した後で、すぐに、アプリケーションは、publish-iisツールを実行するように設定されています。私はこのステップが起こっていないと思います。もしあなたがRC1からRC2に移動した場合、web.configは正しい場所にないでしょう。 – Pawel
私たちは、dotnet restore、dotnet build、dotnetを実行してCIへのスクリプトを作成し、実際のAzureの展開を行うためにpostで述べたrepoにあるvs publishスクリプトを使用します。このプロジェクトは常に最初からRC2でした。webconfigは、新しいVSツーリングのアップデートで新しいRC2プロジェクトを開始したときのデフォルトのものです。 web.configはstartup.csとprogram.csのすぐそばにあります。 – Lutando
トラブルシューティングに関するセクション全体が含まれているIISでASP.NETコアアプリケーションを実行するための記事を投稿しました。502.3 Bad Gatway:https://blog.3d-logic.com/2016/06/08/running-asp-net-core- iis-and-antares /があるアプリケーション。それが役に立つかもしれません。 – Pawel