我正在使用 W2k3 上的 IIS 6 在开发环境中设置 SSL 证书。
我有一个名为 login 的目录,其中只有一个页面login.asp
,我希望只能通过 SSL 查看。
因此,在安装或应用 SSL 权限之前,可以通过浏览器查看该页面。我可以浏览该页面,它会重定向等,一切正常。但是基本身份验证是 Base64 编码的,所以我只想保护来自此页面的流量。
我在 中创建了一个虚拟证书makecert
,安装后将其添加到 IIS。IIS 很高兴它被信任。我已将login
和 子文件的目录选定为“需要 SSL 通道”。当我刷新浏览器时,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 Resource Kit 比 更加用户友好makecert.exe
。使用起来非常非常简单。