
Debian10과 새로운 Nginx1.20.1을 사용하여 확인할 때:
curl -I https://example.com
나는 Strict-Transport-Security: max-age=2592000
내 웹사이트를 체크인할 때 다음을 얻습니다.https://www.ssllabs.com/ssltest/analyze.html
, 나는 그 결과를 다음과 같이 본다.
엄격한 전송 보안(HSTS) 예 너무 짧음(180일 미만) max-age=2592000
모든 nginx.conf 및 포함된 모든 파일을 검색했지만 지시어를 찾을 수 없습니다 add_header Strict-Transport-Security ...
.
그래서 저는 서버 블록, http 블록, 위치 블록, 모두, 그중 하나에 다음 줄을 추가하여 다양한 사례를 테스트했습니다.
add_header Strict-Transport-Security "max-age=41536000; includeSubDomains; preload" always;
위 링크를 다시 확인해 보니 결과는 다음과 같습니다.
엄격한 전송 보안(HSTS) 잘못된 서버가 둘 이상의 HSTS 헤더를 제공했습니다.
위의 두 경우 모두 Firefox 브라우저에서 응답 헤더를 확인할 때 새로 추가된 지시문이 적용되지 않는다는 max-age
점 을 말씀드리면 반갑습니다!2592000
cloudeflare를 DNS 서버로 사용하고 있으므로 대시보드에서 HSTS를 활성화/비활성화했지만 변경 사항이 관찰되지 않았습니다.
이제 Nginx에서 기본값을 찾는 방법 Strict-Transport-Security max-age
과 이를 효과적으로 변경하는 방법을 알려드리겠습니다.
답변1
Cloudflare는 전 세계에서 볼 수 있는 TLS 종료 엔드포인트입니다. 따라서 HSTS 헤더를 설정합니다. 원본 HSTS 헤더는 Cloudflare에서 무시됩니다.
Cloudflare 제어판에서 HSTS 설정을 수정해야 합니다.
답변2
내 webApp은 ASP.net 코어로 만들어졌으며, start.cs에서 HTTPS가 활성화된 경우 HSTS의 기본값은 30일입니다. 이로 인해 nginx 구성이 분석기의 중복 및 일부 오류로 유혹을 받게 되었습니다.