IIS Express -- SSLを動作させる
質問
開発中の VS2010 MVC3 プロジェクトで、IIS Express に安全な接続を許可させることができません。ポート 80 で安全でない接続を受け入れるようにすることはできますが、ポート 443 で安全な接続を受け入れることはできません。
私は、グーグル検索に基づいて、次のステップを踏みました。
1) VS2010 のコマンドラインで以下を実行することにより、IIS Express Server の自己署名証明書の SHA1 サムプリントを取得しました。
certmgr.exe /c /s /r localMachine MY
結果は、9B088F80 A4FC3141 28F62890 70BA1FC4 49FDD009となりました。後で知ったのですが、拇印を使うときはスペースを削除する必要があるようです。
2) 昇格したコマンド ライン プロンプトで以下を実行することにより、ポート 443 にリンクされていたあらゆる証明書を削除しました。
netsh http delete sslcert ipport=0.0.0.0:443
3) VS2010のツールメニューからCreate GUIDを実行して、新しいGUIDを生成しました。私の場合、以下のようになりました。 B0421A5B-FF61-47CE-892D-11AA3A9C7D2A.
4) 昇格したコマンドラインプロンプトで以下を実行し、ポート 443 に自己署名証明書をインストールしました。
netsh http add sslcert ipport=0.0.0.0:443 certhash=9B088F80A4FC314128F6289070BA1FC449FDD009 appid={B0421A5B-FF61-47CE-892D-11AA3A9C7D2A}
5) 昇格したコマンドラインプロンプトから以下を実行し、ACLを変更します。
netsh http add urlacl url=https://localhost:443/ user=everyone
6) IIS Express の application.config ファイルを変更し、ポート 443 と https プロトコルのバインドを追加しました。このファイルのサイトセクションは、最終的に次のようになりました。
<sites>
<site name="Development Web Site" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_BIN%\AppServer\empty_wwwroot" />
</application>
<bindings>
<binding protocol="https" bindingInformation="*:443:localhost" />
<binding protocol="http" bindingInformation="*:80:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="IISExpressAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
7) 昇格したコマンドラインプロンプトで以下を実行し、httpサービスを再起動しました。
net stop http
net start http
8) MVCプロジェクトのプロパティページのWebタブにあるProject URLを以下のように変更しました。
http://localhost/
プロジェクトのプロパティページを保存すると、この変更を行った後、サーバーの再構成がトリガーされました。
VS2010 内から MVC アプリを起動すると、正しく次のように結びつきます。 http://localhost (IIS Express がポート 80 の安全でない/通常の接続で動作するようにするためのすべての手順は含まれていませんが、基本的には手順 5 から 7 になっています。)
しかし、https を必要とするアクションに移行しようとすると、"server refused connection" というエラーが表示されます。
私は何を間違えているのでしょうか?
どうすればよいのでしょうか?
IISExpressを使用するプロジェクトを設定した後に
F4
を押してプロパティを表示し、プロパティ セットで
SSL Enable
を設定します。
true
で、その下に
SSL URL
の下に、SSLに必要なポート(あなたの場合は443)をURLに設定します。
これで、下調べをしなくても動作し、自己署名証明書も自動で発行されました。
デフォルトでその URL でプロジェクトを実行するには、プロジェクトを右クリックして、プロパティを選択し、Web を選択して、Project Url を https://localhost:443
関連
-
[解決済み] コントローラ '...' でパブリックアクションメソッド '...' が見つかりませんでした。
-
[解決済み] 既存のデータベースの選択されたテーブルからDbContextをScaffoldすることができますか[重複]。
-
[解決済み] OpenSSLを使用して自己署名入りSSL証明書を生成する方法を教えてください。
-
[解決済み] MVCで、文字列の結果を返すにはどうしたらいいですか?
-
[解決済み] IIS Expressで外部からのリクエストを有効にするには?
-
[解決済み] IIS Expressの設定ファイル/メタベースファイルはどこにありますか?
-
[解決済み】自己署名付きlocalhost証明書をChromeが受け入れるようにする方法
-
[解決済み】NULLモデルを持つrenderpartialは、間違った型を渡される
-
[解決済み] [Solved] javax.net.ssl.SSLHandshakeException の解決: sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました エラー?
-
[解決済み] [Solved] ASP.NET MVCコントローラメソッドからJSON.NETでシリアライズされたcamelCase JSONを返すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】同じキーのアイテムがすでに追加されています。
-
[解決済み] 既存のデータベースの選択されたテーブルからDbContextをScaffoldすることができますか[重複]。
-
[解決済み] 既存のASP.NET MVC 4 WebアプリケーションのプロジェクトにWeb APIを追加するにはどうすればよいですか?
-
[解決済み】1つのビューに複数のモデルを表示する
-
[解決済み】ASP.NET mvcとIISでURLのドットが原因で404になる
-
[解決済み】ASP.NET MVCのフォームでチェックボックスを処理するにはどうすればよいですか?
-
[解決済み】サービスは常にDTOを返すべきですか、それともドメインモデルも返すことができますか?
-
[解決済み】Html.ActionLinkを使用して別のコントローラのアクションを呼び出す
-
[解決済み] datetime2 データ型から datetime データ型への変換で、範囲外の値が発生しました。
-
[解決済み] ASP.NET MVC Html.ActionLinkにアンカータグを含める