私はnginxセットアップのセキュリティヘッダー( https://securityheaders.com )をテストしていて、nginxサフィックスロケーションブロックで人々の意見を確認したいと思っていました。
現在、http(s)://my.siteに対して「A +」を取得していますが、サフィックスの場所をテストする場合は「B」、つまり 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を追加してみましたが、これが方法である場合は、構文が間違っている必要があります。
セキュリティヘッダーは、ロケーションブロックにカスケードすることを目的としていますか?または、スキャンの結果は期待されていますか?それとも私はただうんざりしています...
乾杯、ジョニー
欠落していると報告されたヘッダーには、always
ディレクティブがありません。テストされているものが、他のヘッダーを返すためにadd_header
が必要とする応答コードの1つを返さないのではないかと推測しています。