一位客户使用了一个有用的安全扫描器,现在认为 Strict-Transport-Security 标头应包含 ‘includeSubdomains’。
我在 app.yml 中添加了这两项:
after_ssl:
- replace:
filename: /etc/nginx/conf.d/outlets/server/20-https.conf
from: "max-age=31536000;"
to: "max-age=31536000; includeSubDomains;"
- replace:
filename: /etc/nginx/conf.d/outlets/discourse/20-https.conf
from: "max-age=31536000;"
to: "max-age=31536000; includeSubDomains;"
- exec: sed -i "s/add_header Strict-Transport-Security 'max-age=31536000';/add_header Strict-Transport-Security \"max-age=31536000; includeSubDomains\" always;/" /etc/nginx/conf.d/outlets/discourse/20-https.conf /etc/nginx/conf.d/outlets/server/20-https.conf
两者似乎都不起作用。在容器内运行第二个 sed 命令可以正常工作,并在重新启动 nginx 后按要求执行。
我不明白为什么它不起作用。
另外,这以前在模板中,但似乎在 2014 年被删除了,但最近的一些帖子包含显示 includeSubdomains 的标头。
我感到困惑。