
W2k3 上の IIS 6 を使用して開発環境で SSL 証明書を設定しています。
login というディレクトリがあり、login.asp
そのページは SSL 経由でのみ表示できるようにしたいです。
したがって、SSL 権限をインストールまたは適用する前は、ページはブラウザで表示できます。ページを閲覧したり、リダイレクトしたりすることができ、すべて正常です。ただし、基本認証は Base64 でエンコードされているため、このページからのトラフィックのみを保護したいと思います。
でダミー証明書を作成しmakecert
、インストールして IIS に追加しました。IIS はそれが信頼されていることを喜んでいます。 のディレクトリと子ファイルを「SSL チャネルを要求する」に選択しましたlogin
。 でブラウザを更新すると、login/login.asp
IE 8 で「404: ページが見つかりません」というメッセージが表示されます。つまり、ここには 2 つの問題があります。
- HTTPS を使用するとページを表示できなくなります。
- HTTPSを手動で入力する必要があります(今のところは少々不便ですが)
IIS から「SSL チャネルが必要」をオフにすると、再び動作します。
SSL 証明書のインストールに関するいくつかのチュートリアルに従ったのですが、それでもこの障壁に遭遇します。プロセスのどの部分を見逃しているのでしょうか。
答え1
この問題をさらに徹底的に調査したので、回答しようと思いました。
問題は、ページが HTTPS としてのみ要求されることを想定するようになったことです。HTTP を要求するときに自動的に HTTPS に切り替える必要がある場合は、サイトの [カスタム エラー] タブで 401.3 エラーを特定の URL に強制することでこれを実行し、受信要求の http:// を https:// に変更しました。
Google の記事を見ると、ASP/.NET などまたは Javascript で実行できることがわかります。
selfssl.exe
また、 IIS 6.0 リソース キットの は よりもはるかにユーザー フレンドリーであることがわかりましたmakecert.exe
。使い方は非常に簡単です。