Я тестировал заголовки безопасности ( https://securityheaders.com ) моей установки nginx и хотел проверить мнение людей с помощью блоков местоположения суффикса nginx.
В настоящее время я получаю «A +» для http (s): //my.site , однако «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
хочет, чтобы вернуть другие заголовки.