nginx에 리버스 프록시가있어 꽤 많은 사이트를 프록시합니다. 최근에 모든 SSL 지원 웹 사이트에 대해 HTTP Strict Transport Security를 활성화했습니다. 이 기능을 사용하지 않으려는 사이트가 하나 있습니다.
내 업스트림에서 이미 Strict-Transport-Security
헤더를 보냈다면 간단하게 확인 하고 그렇지 않은 경우 하나만 추가한다고 생각했습니다 . 이렇게하면 업스트림 max-age=0
에서 프록시로 HSTS를 사용하지 않도록 STS 헤더를 보낼 수 있습니다.
다음과 같이 구성을 변경한다고 생각했습니다.
location / {
proxy_pass http://webservers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto "https";
if ($upstream_http_strict_transport_security = "") {
add_header Strict-Transport-Security "max-age=15552000";
}
}
그러나 아마도 악한 경우 에는 작동하지 않습니다. 변수가 실제로 존재하는지 확인하기 위해 여러 가지를 시도했지만 아무것도 도움이되지 않는 것 같습니다.
이 작업을 어떻게 수행 할 수 있습니까?