我已经从OpenBSD http://www.openbsd.org/faq/faq10.html#HTTPS尝试了这个例子
它工作正常,但与Mozilla的火狐6.0可以同时使用http和https,而我想强制用户只能使用HTTPS。 我怎样才能做到这一点?
谢谢!
您可以控制您使用的任何Web服务器。 您将要301redirect到您的HTTPS网站。
您可以通过使用mod_ssl指令来限制连接到您的网站以要求HTTPS
SSLRequireSSL
该指令禁止访问,除非启用HTTP上的SSL(即HTTPS)为当前 连接。 在启用了SSL的虚拟主机或目录中,这非常方便 针对暴露应该受保护的数据的configuration错误。 当这个指令 存在时,所有不使用SSL的请求都被拒绝。
您引用的FAQ条目讨论了如何设置您的网站以支持SSL,SSLRequireSSL指令用于指定整个网站(或您网站中特定的别名/目录)的限制。
您可以将http://example.com/redirect到https://example.com/ ,但这意味着纯文本HTTP仍然只用于发送HTTPredirect 。
这暴露了用户攻击的工具,如sslstrip ,除非他仔细检查每个域名是真正的https://example.com ,而不是http://example.com/ ,而不是https://examp1e.com ,不是https://(insert non-Latin homoglyphs here).com …
在这种情况下,您确实想要使用HTTP严格传输安全性 :
HTTP严格传输安全性(HSTS)是一种build议的Web安全策略机制,其中Web服务器声明遵守用户代理(例如Web浏览器) 将仅使用安全连接(例如HTTPS)与其交互。
<meta http-equiv="refresh" content="0; url=https://example.com">