在过去的 3 或 4 年里,我一直在 Win2003 服务器上托管一个域,但我现在需要使这个域只能通过 HTTPS 访问。
我已经正确安装了证书并且它工作正常(服务器托管多个域,但这个域托管在不同的公共 IP 地址上),但我正在努力让 IIS 只传输所有访问http:/的用户/www.example.com到https://www.example.com。
我在 IIS 中找到了“需要安全通道”选项,但检查此选项会导致任何未能键入该https://
部分的人看到错误消息(如下)。将用户重定向到 HTTPS 站点的最佳方式是什么(用户不必担心)?
必须通过安全通道查看该页面 您尝试访问的页面受安全套接字层 (SSL) 保护。
请尝试以下方法:
在您尝试访问的地址的开头键入 https://,然后按 ENTER。
HTTP 错误 403.4 - 禁止:需要 SSL 才能查看此资源。
使用 IIS 将 HTTP 重定向到 HTTPS
最干净的方法是安装一个 mod rewrite isapi 过滤器。并将所有 http 调用重定向到 https(或者如果您愿意,也可以只重定向到特定文件夹/页面的调用)。
http://www.isapirewrite.com/
Heres an article解释了如何做到这一点+提到了其他一些建议。 http://www.iis-aid.com/articles/how_to_guides/three_methods_redirect_http_https
查看 Microsoft 知识库文章如何为 Outlook Web Access 客户端将 HTTP 连接重定向到 HTTPS,以及如何将默认网站重定向到 Exchange 虚拟目录。
有几个步骤可以正确配置它;代码是:
完成重定向设置后,请确保还将HSTS 标头添加到您的请求中。这会在用户访问您的网站一次后完全跳过重定向步骤。因此后续访问不需要重定向,因为浏览器会立即建立 https 连接。
您还可以将您的网站添加到所有主要浏览器都包含的预加载服务中,以便用户即使在第一次访问时也可以连接到 https。
让您的发布防火墙执行重定向。让呼叫到达与它没有业务往来的实际 Web 服务器似乎是不必要的,甚至可能会带来安全风险。