2017-01-29 8 views
0

私は.Net Core 1.1.0ウェブアプリケーションを持っています。私は、IISExpressとVisual Studioを使ってうれしくビルドしてデバッグしてきました。今私は、アプリケーションを公開し、通常のIISの背後にある自分のWebサーバーにホストしたいと思います。AspNetCoreModule - HTTPエラー502.3

ステップ:

  1. は、.NET CLRバージョンが "Noマネージコード"
  2. に設定して公開 フォルダIISで新しいアプリケーションプールを作成し
  3. にすべてをパッケージ化され、dotnet publish蘭新しいアプリケーションプールを使用して、既定のWebサイト の新しいアプリケーションを作成し、物理パスを手順1で作成した公開 フォルダに設定します。

サイトのURLにアクセスしようとすると、HTTP Error 502.3 - Bad Gatewayと表示され、エラーの原因となるモジュールはAspNetCoreModuleです。

これは、Integratedに設定されたアプリケーションプールの管理パイプラインモードです。私がClassicに設定した場合、502.5 - Process Failureが発生します。 Windowsイベントログには何も役立ちません。

これは、アプリケーションのweb.configです:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> 
     </handlers> 
     <aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" /> 
    </system.webServer> 
</configuration> 

EDIT:これはWebHostBuilder定義です:

var host = new WebHostBuilder() 
      .UseKestrel() 
      .UseContentRoot(Directory.GetCurrentDirectory()) 
      .UseIISIntegration() 
      .ConfigureServices(s => s.AddRouting()) 
      .Configure(app => 
      { 
       SetupRoutes(app); 
       app.UseDefaultFiles(); 
       app.UseStaticFiles(); 
      }) 
      .Build(); 
     host.Run(); 
+1

あなたはKestrelを使用していますか? 'WebHostBuilder'の定義を表示してください – haim770

+0

I * think *問題が見つかりました。私はVS 2017(.csprojではそうだがproject.jsonではそうでない)を使ってナゲットパッケージを追加した。コマンドラインからのパブリッシュは見つからなかったので失敗した。私は今、IISでサイトを見ることができます。 CLIの公開が以前に働いていたので、ちょっと混乱しました... – user888734

+0

あなたのアプリを公開したフォルダから 'dotnet myapp.dll'を実行してください。すべてが始まったか、うまくいくの?はいの場合 - 問題は "実際のIISで"のみです。 'web.config'を編集し、' stdoutLogEnabled'を 'true'に変更し、アプリケーションを再起動し、ブラウザでページを更新し、' logs \ stdout'の下でログファイルを調べます。 – Dmitry

答えて

0

あなたは適切な実行環境がインストールされていますか?

https://www.microsoft.com/net/download/core#/current/runtime

あなたのweb.configファイルはモジュールAspNetCoreModuleを指している、あなたは、IISの下で、アプリケーションの「モジュール」リストで、それが正しくインストール見ることができますか?