网站启用HSTS严格HTTPS

由于谷歌已经公开声明搜索引擎对https网站更加友好,排名更优先,所以越来越多的网站用上了https。https的一大好处就是安全,但是目前https并不足够普遍,用户也是懒得在域名前输入https://这样的内容,所以就需要网站设置301进行跳转,但是很有可能网站在跳转前被劫持,引向错误的网站,所以就需要设置HTST,这样可以让用户在第一次访问网站之后保留信息,第二次访问直接浏览器就自动跳转到https网站,避免了被中间人劫持。

一、Nginx的配置

nginx比较简单,vim /etc/nginx/sites-available/example.conf修改自己的配置文件,ssl下的server块中加入一行

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

保存退出,然后执行service nginx restart重启Nginx即可。63072000意味着这个头信息保留一年,不过这一年中如果有任何一次访问都会重新变成了1年的保留时间。

二、Apache2的配置

apache2的配置和nginx也差不多,到/etc/apache2/sites-available/example.conf 中寻找自己的配置文件,也是添加一行:

Header always set Strict-Transport-Security "max-age=15552000; includeSubdomains; preload"

保存退出即可,service apche2 restart重启apache;接着可以使用命令apache2 -t测试自己的配置是否生效。

如果出现了类似下列错误:

Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration

不要慌张,是没有启用headers模块,执行下列命令后再测试一下,问题就能解决了。

a2enmod headers

三、测试设置是否成功

设置完成了,需要看看自己的设置是否成功,就可以用curl测试,注意这里的域名就需要加上https了。

curl -I https://yearliny.com -k

如果出来的结果中含有类似下列的字段,那么说明自己的设置成功了。

Strict-Transport-Security


评论

《 “网站启用HSTS严格HTTPS” 》 有 2 条评论

  1. 百度对于Https支持如何?

    1. 看样子是收录的,但是具体排名怎么样不确定,你有意思转https吗?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注