
我正在 W2k3 上使用 IIS 6 在開發環境中設定 SSL 憑證。
我有一個名為「login」的目錄,其中只有一個頁面login.asp
,我希望只能透過 SSL 查看該目錄。
因此,在安裝或套用 SSL 權限之前,可以透過瀏覽器查看該頁面。我可以瀏覽頁面並進行重定向等,一切都很好。但是基本驗證是 Base64 編碼的,因此我只想保護此頁面的流量。
我在 中建立了一個虛擬證書makecert
,安裝了它並將其新增到 IIS。 IIS 很高興它受到信任。我已將目錄login
和子文件選擇為“需要 SSL 通道”。當我刷新瀏覽器時,login/login.asp
我在 IE 8 中收到“404:找不到頁面”。
- 現在使用 HTTPS 時無法查看該頁面。
- 他們必須手動輸入 HTTPS(目前略有不便)
如果我從 IIS 關閉“需要 SSL 通道”,它會再次工作。
我錯過了該過程的哪一部分,因為我已經遵循了幾個有關已安裝 SSL 憑證的教程,但仍然遇到了這個障礙。
答案1
現在我已經更徹底地研究了這個問題,我想我會做出回應。
問題是該頁面現在預計僅以 HTTPS 方式請求。如果您需要在請求HTTP 時自動切換到HTTPS,我透過將任何401.3 錯誤(在網站的「自訂錯誤」標籤中)強製到特定URL 來實現此目的,然後將任何401.3 錯誤的http://更改為https://傳入請求。
查看 Google 上的文章,您可以使用 ASP/.NET 等或 Javascript 來完成。
我還發現selfssl.exe
IIS 6.0 資源工具包中的 比makecert.exe
.使用起來非常非常簡單。