ローカルの開発マシンに mydomain.local というサイトがあり、ローカルのホスト ファイル エントリを使用して 127.0.0.1 を指しています。ディレクトリは私の作業中の git コピーであり、魅力的に機能します。それは常に私がチェックアウトしたものを指しています。
SSL をセットアップしたいのですが、もちろん、他の場所に実装する前にローカルでコードをテストする必要があります。これは私の Win7 Ultimate マシンであり、この開発環境は本格的な IIS 7.5 を使用しており、組み込みの IIS Express または localhost:port# auto-config は使用していません。
複数の実験を通じて、自己署名 SSL 証明書の制御と設定を強化するために、 SelfSSL7を使用することにしました。オプションが充実していて、使い勝手が良さそうです。
限られたドキュメントに従って、次のコマンドで SelfSSL 証明書を生成します。
SelfSSL7 /Q /T /I "mydomain.local" /S "MyDomain IIS Name" /N cn=pc_name;cn=localhost;cn=mydomain.local
適切なドメインで IIS セットアップに適切にバインドします。しかし、サイトを開始しようとすると、次のエラーが発生します。
The process cannot access the file because it is being used by another process. (Exception 0x80070020)
これらのエラーを調べると、ポート 443 で SSL をリッスンしているサービスを確認するように指示されました。これは、出力からの出力のスニペットですnetstat -ano
(port==443) (他のすべてをトリミングしました)
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 5800
TCP [::]:443 [::]:0 LISTENING 5800
問題は、ドキュメンテーションがひどい (驚き) ことであり、ここからどこに行けばよいかわかりません。彼らが指定したレジストリ パスは、実際には私のマシンには存在しません (Regedit に ListenOnlyList フォルダーはありません)。また、私は他のIISサイトを0つセットアップしており、443を介したSSLではまったくセットアップしていません。
概要: SSL 証明書を生成でき、正しく見えますが、バインディングが配置されると、IIS でサイトを開始できません。繰り返しますが、SSL は正しいように見えます。おそらく、ポート 443 と「ソケット プーリング」に関する私のマシン構成に関するものです (???)