我一直在测试安全标头(https://securityheaders.com) 我的 nginx 设置,并想使用 nginx 后缀位置块检查人们的意见。
目前,我获得了“A+”http(s)://my.site然而,当测试后缀位置时,即https://my.site/location1
警告针对的是缺少:-
- 内容安全政策
- 引荐来源政策
- 功能政策
我的服务器块获得“A+”包括:-
add_header 'Referrer-Policy' 'no-referrer';
add_header Strict-Transport-Security "max-age=15552000; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Feature-Policy "geolocation none;midi none;notifications none;push none;sync-xhr none;microphone none;camera none;magnetometer none;gyroscope none;;speaker self;vibrate none;fullscreen self;payment none;";
add_header Content-Security-Policy "frame-ancestors my.site;";
接收“B”的示例位置块包括:-
location /location1 {
proxy_pass http://192.168.1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
error_log /var/log/nginx/blah.error.log;
我曾尝试在位置块中添加 CSP,但是如果这是方法的话 - 我的语法一定是错误的。
安全标头是否旨在级联到位置块?还是扫描结果是预期的?还是我只是菜鸟...
干杯,乔尼
答案1
报告为缺失的标头缺少指令always
。我猜想,无论测试的对象是什么,都没有返回所需的响应代码之一,add_header
以便返回其他标头。