我已经尝试过 OpenBSD 中的这个示例http://www.openbsd.org/faq/faq10.html#HTTPS
它运行正常,但使用 Mozilla Firefox 6.0 可以同时使用 http 和 https,而我想强制用户仅使用 HTTPS。我该如何实现?
谢谢!
答案1
无论使用哪种 Web 服务器,您都可以控制这一点。您将需要 301 重定向到您的 HTTPS 网站。
答案2
您可以使用 mod_ssl 指令限制您的网站连接需要 HTTPS
此指令禁止访问,除非当前启用了 HTTP over SSL(即 HTTPS) 连接。它在启用 SSL 的虚拟主机或目录中非常方便,可以作为防御 防止配置错误暴露应受保护的数据。当此指令 存在时,所有不使用 SSL 的请求都会被拒绝。
您引用的常见问题解答条目讨论了设置您的网站以支持 SSL,指令 SSLRequireSSL 是您用来指定整个网站(或网站内的特定别名/目录)的限制的指令。
答案3
您可以重定向http://example.com/
到https://example.com/
,但这意味着明文 HTTP 仍用于发送 HTTP 重定向。
这使得用户容易受到以下工具的攻击:sslstrip,除非他仔细检查每次该域名确实https://example.com
,不是http://example.com/
,不是https://examp1e.com
,不是https://(insert non-Latin homoglyphs here).com
...
在这种情况下,你确实想使用HTTP 严格传输安全:
HTTP 严格传输安全 (HSTS) 是一种拟议的网络安全策略机制,其中 Web 服务器声明遵守的用户代理(例如 Web 浏览器)仅使用安全连接(例如 HTTPS)与其进行交互。
答案4
- 如果站点存在安全问题,您可以使用此 Firefox 扩展强制所有站点仅使用 https无处不在的 HTTPS。
- 如果存在外围安全问题,您可以使用代理转发服务器将所有 http 请求重定向到 https。
- 最后,如果你有 Web 服务器,只需为 http 和 https 设置不同的路径即可。在 https 中,你将放置你的网站;在 http 中,你只需放置一个 index.html 文件即可元刷新。
<meta http-equiv="refresh" content="0; url=https://example.com">