在 Apache、NGINX 和 Lighttpd 上启用 HTTP 公钥固定扩展(3)

setenv.add-response-header =("Public-Key-Pins"=>"pin-sha256=\"klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=\"; pin-sha256=\"633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q=\"; max-age=2592000; includeSubDomains")

}

NGINX

NGINX 的配置更简短。添加以下行到你的 HTTPS 配置的 server 块中:

add_header Public-Key-Pins'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; max-age=2592000; includeSubDomains';

报告功能

HPKP 报告功能允许浏览器报告任何违例给你。

如果你在响应头中添加了附加的 report-uri="http://example.org/hpkp-report" 参数,并用该 URI 处理接收到的数据的话,客户端会在发现违例时发送报告给你。这个报告是以 POST 方式发送到你指定的 report-uri 上,并以类似下面的 JSON 格式:

{

"date-time":"2014-12-26T11:52:10Z",

"hostname":"www.example.org",

"port":443,

"effective-expiration-date":"2014-12-31T12:59:59",

"include-subdomains":true,

"served-certificate-chain":[

"-----BEGINCERTIFICATE-----\nMIIAuyg[...]tqU0CkVDNx\n-----ENDCERTIFICATE-----"

],

"validated-certificate-chain":[

"-----BEGINCERTIFICATE-----\nEBDCCygAwIBA[...]PX4WecNx\n-----ENDCERTIFICATE-----"

],

"known-pins":[

"pin-sha256=\"dUezRu9zOECb901Md727xWltNsj0e6qzGk\"",

"pin-sha256=\"E9CqVKB9+xZ9INDbd+2eRQozqbQ2yXLYc\""

]

}

非强制,只报告

HPKP 也可以设置为非强制的,可以使用 Public-Key-Pins-Report-Only 来只发送违例报告给你。

这样可以让你在网站不可访问或 HPKP 配置不正确时不固定,之后你可以将这个响应头改为 Public-Key-Pins 来强制固定。

Lighttpd 的详细介绍请点这里
Lighttpd 的下载地址请点这里

相关阅读

CentOS 5.6 下搭建Lighttpd

Cacti监控Lighttpd

Ubuntu 手动编译安装Lighttpd配置运行PHP

移植Lighttpd Web服务器到ARM Linux系统

Ubuntu下搭建Lighttpd+PHP+MySQL环境

在CentOS 5.6 上安装 Lighttpd + PHP5 + MySQL

Lighttpd 对视频文件压缩文件做防盗链

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28ad796688b858e43ed547cd86211204.html