WordPress启用HSTS,增强用户信任和网站安全性

如果您的Web服务器没有在下面列出,可以使用PHP方法(所有服务器及任何通过PHP编写的Web程序通用)

下列配置方法都需要修改配置文件(PHP方法除外),如果你找不到需要的配置文件且使用了宝塔面板,那么请直接在面板中按照以下方式寻找:

软件商店-你的web服务器-设置-配置修改

Apache2 配置 HSTS

编辑你的 apache 配置文件(如 /etc/apache2/sites-enabled/website.conf 和 /etc/apache2/httpd.conf ),并加以下行到你的 HTTPS VirtualHost:

# Apache需加载mod_header库,一般位于httpd.conf文件,搜索mod_headers并取消注释。(已加载可跳过)
LoadModule headers_module modules/mod_headers.so   #然后对应站点VirtualHost里面插入HSTS响应头信息
 
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"

保存 Apache 配置文件,然后重启。现在你的 web 站点在每次访问时都会发送该请求头,失效时间是两年(秒数),这个失效时间每次都会设置为两年后。

Nginx 配置 HSTS

Nginx 服务器中的配置最为简单,只需要编辑 Nginx 配置文件(如:/usr/local/nginx/conf/nginx.conf)将下面行添加到你的 HTTPS 配置的 server 块中即可:

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

如果你发现直接添加在 server 块中无效的情况,你可以试试直接插入到 location ~ *php 内:

location ~ [^/]\.php(/|$) {
	add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
}

配置保存后重启 Nginx 服务。

Lighttpd 配置 HSTS

将以下配置增加到你的 Lighttpd 配置文件(例如:/etc/lighttpd/lighttpd.conf):

server.modules += ( "mod_setenv" )
$HTTP["scheme"] == "https" {
	setenv.add-response-header  = ( "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload")
}

编辑保存后记得重启一下。

PHP通用配置 HSTS 方法

将以下代码添加到网站根目录或主题的 index.php 中或者header.php中(建议优先选择修改子主题的header.php)

header("Strict-Transport-Security: max-age=63072000; includeSubdomains; preload");

开启了HSTS后,你部署SSL/TLS的服务检测得分就可能是A+以上了。ssllabs官网以及演示如下:

  1. 官网:https://www.ssllabs.com/
  2. 中文版:https://myssl.com
  3. 测试地址:https://www.ssllabs.com/ssltest/analyze.html
myssl测试结果
WordPress启用HSTS,增强用户信任和网站安全性 3
1680839331 image
WordPress启用HSTS,增强用户信任和网站安全性 4

至此配置完毕,您还可以选择加入HSTS Preload List让浏览器直接认为您的网站是启用了HSTS的,从而自动转换成HTTPS。

https://www.biliwind.com/807.html
© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!对于“评论可见”,请合理评论,否则将被系统视为垃圾评论。
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容