让你的HTTPS更安全-让你的HTTPS更安全开启HSTS让浏览器强制跳转HTTPS访问

[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!

现如今很多的站都开启了https,这是标准化建站模式,在网站全站HTTPS后,如果用户手动敲入网站的HTTP地址,或者从其它地方点击了网站的HTTP链接,通常依赖于服务端301/302跳转才能使用HTTPS服务

而第一次的HTTP请求就有可能被劫持,导致请求无法到达服务器,从而构成HTTPS降级劫持。这个问题目前可以通过HSTS(HTTP Strict Transport Security,RFC6797)来解决。先说说说HSTS;

HSTS简介

HSTS(HTTP Strict Transport Security)是国际互联网工程组织IETF发布的一种互联网安全策略机制。采用HSTS策略的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在URL地址栏中输入加密地址,以减少会话劫持风险。

hsts预加载列表,可以理解为:用户在访问网站时,会判断你是http网站还是https网站。通过这个预加载列表,可以实现在用户访问之前就能知道是https。这里我用的apache,给出apache关于hsts配置内容如下:

开启HSTS让浏览器强制跳转HTTPS访问教程

部署的话,首先启用HSTS的header模块LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so

Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"

上述代码放于网站配置文件中,一般是httpd.conf文件等网站配置文件。宝塔界面,可以直接点击网站,设置,切换到配置文件选项,添加内容即可。

PS:注意,是配置文件不是伪静态文件,注意添加文件位置,再你网站目录的下方一点;

HSTS响应头格式

max-age,单位是秒,用来告诉浏览器在指定时间内,这个网站必须通过HTTPS协议来访问。也就是对于这个网站的HTTP地址,浏览器需要先在本地替换为HTTPS之后再发送请求。
includeSubDomains,可选参数,如果指定这个参数,表明这个网站所有子域名也必须通过HTTPS协议来访问。
preload,可选参数,一个浏览器内置的使用HTTPS的域名列表。

然后再到 https://hstspreload.org/ 网站,提交一下你的网站。之后,各大主流浏览器就会内置你的域名到他们的hsts列表中,直接内置到浏览器中。

PS:自己站带www就提交带WWW的,不带的就提交不带的,别搞乱了喽;

问题未解决?付费解决问题加Q或微信 2589053300 (即Q号又微信号)右上方扫一扫可加博主微信

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

支付宝赞助
微信赞助

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如您下载该资源,行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
LaoLiang.Net部分资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
意在交流学习,欢迎赞赏评论,如有谬误,请联系指正;转载请注明出处: » 让你的HTTPS更安全-让你的HTTPS更安全开启HSTS让浏览器强制跳转HTTPS访问

发表回复

本站承接,网站推广(SEM,SEO);软件安装与调试;服务器或网络推荐及配置;APP开发与维护;网站开发修改及维护; 各财务软件安装调试及注册服务(金蝶,用友,管家婆,速达,星宇等);同时也有客户管理系统,人力资源,超市POS,医药管理等;

立即查看 了解详情