昨天偶然间,发现了很多博客主在网站底部都挂上了MySSL安全认证的标志,为此小编也是为本站检测了一下,检查链接:https://myssl.com/www.lvruanhome.com?from=mysslid,发现评级一直卡在A(如下图所示),最高等级为A+。
于是也是按照了MySSL的官方文档查阅了一下,发现是基于Nginx服务器做的说明,使用Nginx的可以参考下:https://blog.myssl.com/https-security-compatibility-best-practices/,小编使用的Apache,所以今天小编主要给大家记录一下Apache如何配置HSTS安全策略。
WAMP、PHPStudy、Lamp、Apache等都可以参考本向导进行配置。
查找配置文件
在开启配置之前,需要找到 Apahce 的主配置文件 httpd.conf。
开启 mod_headers.so 模块
请使用 Notpad++ 编辑器(不要使用 Windows 记事本)打开查找到 httpd.conf 配置文件。
在编辑器内按下查找快捷键 Ctrl+F 唤出内容查找器,输入 mod_headers.so 并点击查找。
去除下面这行之前的#号,并保存配置文件。
LoadModule headers_module modules/mod_mod_headers.so查找已经开启 SSL 的站点配置文件
在客户机上查找站点配置文件,站点配置文件通常位于 httpd.conf、vhost-ssl.conf、vhost.conf 或者自定义的配置文件内。
为了方便理解,这里我们假设找到的 SSL 站点配置文件为 lvruanhome-ssl.conf
开启站点 HSTS
插入 HSTS 代码
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"编辑配置 lvruanhome-ssl.conf 内容如下
<VirtualHost *:443> DocumentRoot "www/www.lvruanhome" ServerName www.lvruanhome:443 ServerAlias www.lvruanhome.com ErrorLog "logs/error_log" TransferLog "logs/access_log" SSLEngine on SSLCertificateFile "/conf/ssl/lvruanhome.pem" SSLCertificateKeyFile "/conf/ssl/lvruanhome.key" SSLCertificateChainFile "/conf/ssl/ca-chain.pem" Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" </VirtualHost>保存您正在编辑的配置文件
这里需要注意的是配置完 HSTS 命令后,务必修改其它文件。
重启和测试
重新启动您的 Apache,清除浏览器缓存,访问第2次查看效果。
您也可以通过chrome浏览器或Firefox等浏览器的开发者选项→网络项来查看服务器返回的头信息,来判断是否已经开启HSTS
可以看到,本站也是已经开启了HSTS安全策略,并且在MySSL中已经达到了最高评级A+(如下图所示)。
根据你们对HSTS的配置,所查看到的 Strict-Transport-Security 配置值可能不一样。