2017-05-18 13 views
0

.NETインテグレーションを使用しているときに、.NETコアにはまったく新しく、すべてがどのように連携しているかを理解しようとしています。.NETコアIISIntegrationコンフィグレーション

質問:私のサイトをHTTPS上で動作させたい場合は、WebBuilderに証明書を設定する必要がありますか、またはIISマネージャーのバインディングでHTTPSを選択する必要がありますか?

UseUrls WebBuilderメソッドは、IISにリッスンするポートを指定しますか? IISは.NET Coreアプリケーションと通信するポートをどのように知っていますか?

答えて

1

IISの背後に.NET Coreアプリケーションをホストすると、IISはKestrel Webサーバーのリバースプロキシとして機能します。 IISはHTTP要求を受け取り、Kestrelに渡します。あなたのサーバーにインストールする必要があるAspNetCoreModuleと呼ばれる新しいIISモジュールの中で魔法が起こります。いつものように、IISアプリケーションを設定するには、web.configファイルを使用します。このファイルでは、IISがアプリケーションとどのようにやり取りしているかを説明しています:タイムアウト、アプリケーションのパターン、環境変数など...例えば、鉱山はそのようになります。

<system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore 
     requestTimeout="00:20:00" 
     processPath="%LAUNCHER_PATH%" 
     arguments="%LAUNCHER_ARGS%" 
     stdoutLogEnabled="false" 
     stdoutLogFile=".\logs\stdout" 
     forwardWindowsAuthToken="true"> 
     <environmentVariables> 
     <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="development" /> <!-- value could be "development", "staging" or "production"--> 
     </environmentVariables> 
    </aspNetCore> 
    </system.webServer> 

あなたがそのようにそれを設定したい理由はケストレルは非常に軽量で神経Webサーバーですが、それはIISが追加できる応用的な機能の層を欠けているということですアップ:ケルベロスを経由してWindows認証、クラッシュした場合にはアプリを再起動し、プール管理...

は、私はたくさんにこのトピックに関する記事を気に入っ:https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS

HTTPSの場合、セキュリティで保護されたHTTPSポートでリッスンし、IISでのみ証明書を定義するようにIISを構成すれば十分です。

UseUrls()はIISによって考慮されません。逆に動作します。IISは、アプリケーションが起動するとUseUrls()が考慮されるべきポートをアプリに通知します。あなたのアプリを直接。

+0

多分私の欠けている部分の一つです。私はASP.NET Core 1.1 RunTimeをインストールしました。それは必要なモジュールをインストールしないのですか? – blgrnboy

+0

いいえ、Windows Server Hostingが必要です。リリースノートの一番下に表示されています。https://github.com/dotnet/core/blob/master/release-notes/download-archives/1.0.5-download.md – Daboul

関連する問題