「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[IIS]]
--[[IIS]]
--[[Express関連]]

* 目次 [#if397cdc]
#contents

*概要 [#m075d719]
-WebMatrixから[[Visual Studio]]標準同梱へ。
-昨今、高度な開発用Webサーバが無いと厳しいこともあり。

*詳細 [#t7b6a02e]

**各種設定 [#wb65ed64]
applicationhost.configに設定する。
-基本的には、Projectファイルから自動的に設定が行われる。
-必要に応じて、applicationhost.configを手書き修正する。

***Visual Studio 2015以前 [#ede0d70d]
以下に格納される。
 C:\Users[ユーザ名]\Documents\IISExpress\config\

***Visual Studio 2015以降 [#ze440973]
以下に格納される。
 [ソリューションのディレクトリパス]\.vs\config\

**32bit、64bit [#eab271a5]

***Projectファイル [#e2931d5b]
以下の様な設定を行う(VS2017から?)。

 <UseIISExpress>false</UseIISExpress>
 <Use64BitIISExpress /> 

***[[Visual Studio]] [#c7dfa604]
[[Visual Studio]]のメニューから、[ツール] -> [オプション]~
> -> [プロジェクトおよびソリューション]  ->  [Web プロジェクト]~
> -> [Web サイトおよびプロジェクト用 IIS Express の64ビット バージョンを使用] をON

***レジストリ [#s8789866]
|#|項目|値|h
|1|キー|HKEY_CURRENT_USER¥Software¥Microsoft¥VisualStudio¥xx.0¥WebProjects|
|2|値名|Use64BitIISExpress|
|3|データ|1|

**localhost以外 [#h54a2427]
可能らしい。

***Docker [#z5960401]
-Dockerから接続する場合「[[host.docker.internal>Docker for Windowsのネットワーク設定#o0ae51ae]]」が使用できる。

-以下の様に「applicationhost.config」に定義を追加する。

--AS-IS
 <binding protocol="https" bindingInformation="*:44300:localhost" />

--TO-BE
 <binding protocol="https" bindingInformation="*:44300:localhost" />
 <binding protocol="https" bindingInformation="*:44300:host.docker.internal" />

***ポイント [#s7564fb6]
-[[上記の例>#z5960401]]は、Uri.Authority = localhost:44300の場合。
-host.docker.internalは、以下の様に名前解決される。
--コンテナ側は、192.168.65.2
--ホスト側は、192.168.0.6

***参考 [#o496dfb3]
-IIS Expressでlocalhost以外のアドレスでアクセスする方法 - なか日記~
https://blog.nakajix.jp/entry/2014/09/19/022536
-IIS Express で仮想サイトに複数のホスト名を割り当てる - しばやん雑記~
https://blog.shibayan.jp/entry/20130306/1362572283

**外部公開 [#z5c9b9ad]
可能らしいが、潔く[[IISにデプロイ>ASP.NET Coreのデプロイ#r51d5558]]した方が早そう。~
(HTTPS化でLets’s Encryptの証明書を発行する等の色々があるので)

***ポイント [#zfac03d7]
-bindingInformationに設定しても、hostsに設定してもイイらしい。

-以下は、ホスト外からアクセスする場合に必要
--Windows Defender ファイアウォールを無効化するか、通す。
--[[Visual Studio]]を管理者実行で実行する。~
管理者実行しない場合は、以下コマンドを実行してURL予約(Win10ではダメ?
 > netsh http add urlacl url=http://fqdn name:xxxxx/ user=Everyone

***参考 [#jd0a11d0]
-Qiita
--IIS Express を外部公開する~
https://qiita.com/ledsun/items/ca77c60aad424438cdd7
--Visual Studio 2015のIIS Expressに~
localhost以外からアクセスできるようにする方法~
https://qiita.com/k_saito/items/790884389e0c0611b258

**SSL設定 [#e3024cbb]
可能らしい。

-お楽しみはこれからだ!: IIS ExpressでSSLを有効にしてデバッグ~
http://takepara.blogspot.com/2011/04/iis-expressssl.html

**クライアント証明書 [#g454a719]
可能らしい。

-[[コチラ>ASP.NET+クライアント証明書#sf697402]]を参照。

*ハマリ [#h80f414e]

**SSLポート範囲 [#ldc7278d]
44300 - 44399 の範囲しか設定できないらしい。

-asp.net mvc - IIS Express defaulting to port 44300 for https when enabling SSL - Stack Overflow~
https://stackoverflow.com/questions/3690901/iis-express-defaulting-to-port-44300-for-https-when-enabling-ssl

*参考 [#q8a508a3]
-IIS Expressの紹介 - @IT~
https://www.atmarkit.co.jp/fdotnet/scottgublog/20100702iisexpress/iisexpress.html

-[改訂版]IIS 7.5 Express について – monoe's blog~
https://blogs.msdn.microsoft.com/osamum/2011/01/19/iis-7-5-express/

**Microsoft Docs [#i8eb0762]
-Using the Windows System Tray to Manage Websites and Applications~
https://docs.microsoft.com/en-us/iis/extensions/using-iis-express/using-the-windows-system-tray-to-manage-websites-and-applications

-Running IIS Express from the Command Line~
https://docs.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-from-the-command-line

-Running IIS Express without Administrative Privileges~
https://docs.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-without-administrative-privileges

----
Tags: [[:Windows]], [[:IIS]]
Tags: [[:Windows]], [[:IIS]], [[:.NET開発]], [[:ツール類]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS