虚拟主机中Apache配置启用HSTS


虚拟主机中Apache配置启用HSTS

现在给网站启用ssl的站长越来越多了,谷歌也逐步将http访问设置为不安全,不开ssl感觉会对用户造成一种假象,没有ssl就是不安全的网站。所以小站也在很久之前就部署了ssl证书。

问题过程

晚上网友“心有猛虎”说他网站怎么是T,我就用检测工具简单检测了一下,果然是最差的T等级,我想不应该啊,就刷新重新检测,果然恢复到A了,应该是检测工具没刷新问题。

弄到这里我就看了一下我的网站,也是A,这时候我的处女座强迫症犯了,为什么不搞到A+呢?(A+需要配置HSTS)以前也搞过,不过那个时候用的是独立服务器,环境是Nginx配置几行代码就能实现,现在转到虚拟主机,还能不能配置,经过使用搜索工具,终于找到了虚拟主机配置。

解决方案

.htaccess中添加配置就可以实现。

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L,E=HTTPS:1]
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS

核心代码是最后一句,前面的作用是需将将非https重定向到https。并使用HSTS标头将非www https重定向到www https。

所以我网站的.htaccess中添加最后一行代码Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS就实现了。再来检测一下。果然实现了A+.

转自 青衫慧博客

声明:⎛⎝韩小韩博客⎠⎞|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 虚拟主机中Apache配置启用HSTS


离群索居 不是野兽便是神灵