升级 NGINX 从 HTTP 到 HTTPS
年前把服务器升级到了HTTPS,在 Web服务器 NGINX 端所作的配置非常之少。没有写文章记录升级过程。而今天在看文章时了解到 HSTS(HTTP Strict Transport Security) 同时也应该注意到:虽然 HTTP 成功被重定向到 HTTPS 安全连接,但这没有彻底阻止客户端主动发起 HTTP 请求,重定向时 HTTP 请求已经发出去了,而发出去这一过程就会存在中间人攻击。貌似说得不怎么清楚,我目前不是特别关心这个问题,具体的还请参考上面维基百科的说明吧。
之前我在 NGINX 中 从 HTTP 升级到 HTTPS 时的配置文件:
server {
listen 80;
server_name blog.twofei.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name blog.twofei.com;
ssl_certificate cert.crt;
ssl_certificate_key cert.key;
# ...
}
但由于 HSTS 的原因,所以还应该在第2个 server 块中(HTTPS那个)中加上下面一句:
# add Strict-Transport-Security to prevent man in the middle attacks
add_header Strict-Transport-Security "max-age=31536000";
更多详细请参考以下的链接: