目前本站已支持HSTS,请大家放心访问
大家好,这是我时隔很久后的技术类视频,今天我主要来讲一下如何配置HSTS,依然会在之前的nginx+mysql+php+httpd的基础上讲解,当然单个nginx和httpd的用户也可以参考这个教程,毕竟设置这个跟架构没有太大的关系。
本篇博客我会按照nginx和httpd分开来讲,亲测有效

事前准备:

HSTS是什么?

详见这篇文章

这里尽量用简洁的话语来说明一下,可能有误

HSTS其实就是你在初次访问网站的时候的一个头文件,当你初次连接以后,电脑会把这个头文件缓存下来,回头访问的时候会自动跳转到https协议,而不用http协议,如果你不配置的话,电脑要先通过http协议联系到服务器,服务器再告诉电脑访问https协议的页面,所以更有利于安全

那么如何配置呢?(运用了设问的修辞手法)
请往下看

针对nginx

 title=

  1. 找到nginx对应的配置文件,一般centos的是/etc/nginx/nginx.conf
  2. 编辑它
    vi /etc/nginx/nginx.conf
    按以下w
  3. 滑倒最后面,并且添加以下的代码 注意:不要把代码加载任何大括号🔥中括号里,直接加在最后面就好了。
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    这段代码的意思就是添加一个头(add_header),名称叫Strict-Transport-Security,量就是后面的引号里的东西,这里的max-age是持续时间,以秒为单位,这里的秒数代表1年,你也可以设置2年甚至3年。

这个是图

  1. 先按一下esc,然后输入:wq,保存
  2. 重启
    sudo systemctl reload nginx

这就是nginx的方法,检验方法放在后面一起说。

httpd(apache) 配置方法

其实两个都差不多
httpd图标

  1. 也是找到httpd对应的配置文件,一般centos的是/etc/httpd/conf/httpd.conf
  2. 也是编辑它
    vi /etc/httpd/conf/httpd.conf
    按以下w
  3. 也是滑倒最后面,并且添加以下的代码 注意:也是不要把代码加载任何大括号🔥中括号里,直接加在最后面就好了。
    注意:这里的代码不同了
    LoadModule headers_module modules/mod_headers.so
    Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"
    第一行代码是加载mod_header库,我其实也没试过不加载会咋样,但是加了也没问题
    第二行代码是一样的意思,照顾以下跳着看的同学,我复制了一份过来
    这段代码的意思就是添加一个头(Header always set),名称叫Strict-Transport-Security,量就是后面的引号里的东西,这里的max-age是持续时间,以秒为单位,这里的秒数代表1年,你也可以设置2年甚至3年。

这个是图

  1. 先按一下esc,然后输入:wq,保存
  2. 重启
    sudo systemctl reload httpd

检测方法


  1. 电脑端按住F12,进入调试界面。
  2. 选择网络
    这是图
  3. 按住CTRL+R刷新界面
  4. 然后会出现你网站的域名,点进去
    截屏
  5. 找到strict-transport-security,后面的值是max-age=63072000(秒数可以随便调整); includeSubdomains; preload就成功启用了

好的!恭喜你成功弄完了HSTS,你的网站又安全了一点。

喜欢可以给我点个攒吗?

Lawrence's Blog - 成功没有捷径

Last modification:November 24, 2024
爱发电