Nginx配置全局HSTS、OCSP、OCSP Stapling协议说明

Nginx配置全局HSTS、OCSP、OCSP Stapling协议说明

Hackeus
2022-08-31 / 0 评论 / 137 阅读 / 正在检测是否收录...

相信大家都能在网上找到Nginx配置 HSTS、OCSP、OCSP Stapling 协议,但是找不到能配置全局HSTS、OCSP、OCSP Stapling协议的。
想必应该有一大部分人想要每个站点都配置HSTS、OCSP、OCSP Stapling协议,然而只能一个站点一个站点的配置。
站点少的那还好,像一些大佬的站点往往都是几十个上百个,手动一个个配置起来很伤神。
所以今天我就发一个能全局配置HSTS、OCSP、OCSP Stapling协议的方法。

什么是HSTS

HSTS(HTTP Strict Transport Security,RFC6797),即HTTP严格安全传输,是国际互联网工程组织 IETF 正在推行一种新的Web安全协议。
网站采用HSTS后,用户访问时无需手动在地址栏中输入HTTPS,浏览器会自动采用HTTPS访问网站地址,从而保证用户始终访问到网站的加密链接,保护数据传输安全。
同时只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP。
简单点讲就是抵御SSL剥离攻击

什么是OCSP

在线证书状态协议(Online Certificate Status Protocol),简称OCSP,是一个用于获取 X.509 数字证书撤销状态的网际协议,在RFC 6960中定义。OCSP用于检验证书合法性,查询服务一般由证书所属CA提供。OCSP查询的本质,是一次完整的HTTP请求加响应的过程,这中间涵括的DNS查询、建立TCP连接、Web端工作等步骤,都将耗费更多时间,使得建立TLS花费更多时长。

OCSP Stapling的作用

而这时,OCSP Stapling出现了。经由OCSP Stapling(OCSP 封套),Web端将主动获取OCSP查询结果,并随证书一起发送给客户端,以此让客户端跳过自己去寻求验证的过程,提高TLS握手效率。

怎样实现全局配置

你们看看每个站点的Nginx配置,是不是发现有一些共同点。
每个站点都引用了共同的PHP配置,而我使用的方法是通过PHP配置达到全局配置。
所以我们只要修改一个PHP配置文件就能达到修改多个站点Nginx配置,因为我使用的是PHP7.4,所以引用文件就是 enable-php-74.conf 。

所以我们就在 enable-php-74.conf 里写入我们要配置的代码,一般情况下最好直接加在此文件的最上方并且用换行隔开。

代码如下:


    #开启HSTS,并设置有效期为“31536000秒”(一年),包括子域名(根据情况可删掉),预加载到浏览器缓存(根据情况可删掉)
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
    #OCSP Stapling开启,OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高TLS握手速度
    ssl_stapling on;
    #用于查询OCSP服务器的DNS
    resolver 8.8.8.8 114.114.114.114 valid=3600s;
    #OCSP Stapling验证开启
    ssl_stapling_verify on;

Ps:如果装了多个PHP,那就在需要的PHP的 enable-php-xx.conf 文件里加入你的配置

0

评论

博主关闭了所有页面的评论