setenv.add-response-header =("Public-Key-Pins"=>"pin-sha256=\"klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY=\"; pin-sha256=\"633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q=\"; max-age=2592000; includeSubDomains")
}
NGINXNGINX 的配置更简短。添加以下行到你的 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
Ubuntu 手动编译安装Lighttpd配置运行PHP