豚吐露@wiki

IIS_Expressでcross-originな要求を許容したい

最終更新:

ohden

- view
管理者のみ編集可

IIS Expressでcross-originな要求を許容したい

Windows 11 Pro 24H2(26100.4946)
Visual Studio Professional 2019 Version 16.11.49
IIS Express 10.0.26013.1000

課題

VisualStudioを用いた開発で、1つのsolutionに複数のsiteが有り、同時に起動させそのsite間でhttp通信を行うような環境を作っている場合...CORSで怒られる。

コレを許容するような設定に、設定fileやらcode修正やらで対応しようとしたが、上手くいかんかった。
なんとかdebug実行時に、project間でhttp通信を行えるようにしたいってのが目的。

対策

結局、IIS向けのCors(Cross-Origin Resource Sharing)Moduleを導入する手でなんとか実現した。
ただし、CorsModuleを入れるためには色々制約があるため、手こずった。
その家庭のmemo

IISのinstall
IISが入って無いとCorsModuleのinstallが不可能なので、とりあえずIISを有効にする。
IISが入ってないままCorsModuleをinstallしようとすると...下のようなmessageのerror dialogが出るので注意。
The IIS 7.0 CoreWebEngine and W3SVC features must be installed to use Microsoft CORS Module.

とりあえず、IISの導入。
スタートボタンを押して検索窓に"appwiz.cpl"と入力。"コントロールパネル項目"とか出てくるので、押下。

コントロールパネルの"プログラムと機能"が表示されるので、左のlistから"Windowsの機能の有効化または無効化"を押下。

次に"Windowsの機能"ダイアログが開くので、list下部にある"インターネット インフォメーション サービス"にチェックを入れる。
チェックを入れると、"-"になるが...とりあえず、入れたいだけなので、default選択でok。

IIS CorsModuleのinstall
CorsModule を開く。
下の方に"x64 installer"ってlinkがあるので、押下。
"IISCORS_amd64.msi"ってfileがdownloadされる。

過去は、動作しているweb applicationに合わせて32bit版か64bit版か選ぶ必要があった気がするんじゃが...
現在は、64bit OSだと64bit版しか入らなくなってるっぽい。
じゃ、なんで32bit版置いてあるんじゃろうか。。。どうにかして入れる方法あるんかな?

とりあえず、downloadした"IISCORS_amd64.msi"を実行したらすんなり入ってくれるハズ。


installが完了すると、以下にfileが配置される。
C:\Windows\System32\inetsrv\iiscors.dll

IIS ExpressへIIS Schemaのcopy

IIS ExpressでCorsModuleの有効化




更新日: 2025年09月26日 (金) 15時27分54秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー