如何使用Lighttpd Web服务器设置HTTP严格传输安全性

时间:2020-01-09 10:41:12  来源:igfitidea点击:

HTTP严格传输安全性(HSTS)是一项安全功能,可让您的网站告知客户端浏览器仅应使用HTTPS与它进行通信。
如何在Linux或类似Unix的系统上使用lighttpd Web服务器设置HSTS?

您需要将setenv模块(mod_setenv)用于lighttpd。
它允许影响产生外部应用程序的环境以及服务器发送给客户端的响应头。
在设置HSTS标头之前,必须为lighttpd配置ssl证书。

为lighttpd配置HTTP严格传输安全性

您需要编辑/etc /目录中的lighttpd.conf文件:

$ sudo vi /etc/lighttpd/lighttpd.conf

对于FreeBSD Unix,执行:

$ sudo vi /usr/local/etc/lighttpd/lighttpd.conf

添加mod_setenv模块:

server.modules += ( "mod_setenv" )

HSTS的语法

setenv.add-response-header = ( "Strict-Transport-Security" -  "max-age=SECONDS"  )

例子

通过从安全(HTTPS)网站发送以下HTTP响应标头来设置Strict-Transport-Securit标头,即推送HSTS策略:

# Set HSTS for six months including all subdomains
setenv.add-response-header = ( "Strict-Transport-Security" -  "max-age=15768000; includeSubdomains"  )

时间设置为六个月(15768000以秒为单位)。
如果您有多个setenv.add-response-header,请使用以下语法(注意+ =):

## Setting up two headers ###
setenv.add-response-header = ( "X-Whom" -  "lighttpd-aws-us-east" )
setenv.add-response-header += ( "Strict-Transport-Security" -  "max-age=15768000; includeSubdomains"  )

保存并关闭文件。
重新启动lighttpd Web服务器,如下所示:

$ sudo systemctl restart lighttpd

或者

$ sudo service lighttpd restart

或者

$ sudo /usr/local/etc/rc.d/lighttpd restart

验证HSTS是否正常工作

执行以下curl命令以查看HTTP标头:

$ curl -I https://your-domain-name-here/
$ curl -I https://www.theitroad.local/