ASP.NET Advent Calendar 2016 10日目の記事です。
概要
ASP.NET MVC で作成したプロジェクトのデバッグ実行時には localhost 指定でしか繋がらない設定になっていますが、これを任意ホスト指定で繋がるように設定変更を行います。
デフォルトの挙動
ASP.NET MVC で作成したプロジェクトの実行中に http://localhost:100/ のようなアクセスは可能でも、http://192.168.X.X:100/ のようなアクセスをしようとすると、以下のようなエラーが表示され、アクセスが弾かれます。
Bad Request - Invalid Hostname
HTTP Error 400. The request hostname is invalid.
.vs\config\applicationhost.config をいじる
localhost 以外のホスト指定も受け入れるようにするには、
ソリューションディレクトリ配下の .vs\config\applicationhost.config を編集すると良いです。
例えば 100 番ポートで待ちうけるような Web プロジェクトであった場合、applicationhost.config 内で以下のような定義を探します。
.... <bindings> <binding protocol="http" bindingInformation="*:100:localhost" /> </bindings> ....
binding タグを1個複製して localhost の部分を * に置き換えます。
.... <bindings> <binding protocol="http" bindingInformation="*:100:localhost" /> <binding protocol="http" bindingInformation="*:100:*" /> <!-- この行を追加 --> </bindings> ....
これで任意ホスト指定で Web アクセスできるようになります。
(http://localhost:100/ だけでなく http://192.168.X.X:100/ 等のような指定でもアクセスできるようになる。)