
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 ブロック、ロケーション ブロックのすべてに次の行を追加し、そのうちの 1 つでさまざまなケースをテストしました。
add_header Strict-Transport-Security "max-age=41536000; includeSubDomains; preload" always;
そして、上記のリンクを再度確認したところ、結果は次のようになりました。
厳格なトランスポート セキュリティ (HSTS) 無効なサーバーが複数の HSTS ヘッダーを提供しました
幸いなことに、上記の両方のケースでは、Firefox ブラウザで応答ヘッダーを確認すると、新しく追加したディレクティブは再び有効になりませんmax-age
。2592000
私は DNS サーバーとして cloudeflare を使用しているため、ダッシュボードで HSTS を有効/無効にしましたが、変化は見られませんでした。
Nginxの のデフォルト値を見つける方法Strict-Transport-Security max-age
と、それを効果的に変更する方法を説明します。
答え1
Cloudflare は、世界中の人々が目にする TLS 終端エンドポイントです。そのため、HSTS ヘッダーを設定します。オリジン HSTS ヘッダーは Cloudflare によって無視されます。
Cloudflare コントロール パネルで HSTS 設定を変更する必要があります。
答え2
私の Web アプリは ASP.net コアで作成されており、startup.cs で HTTPS が有効になっている場合、HSTS のデフォルト値は 30 日です。これにより、nginx 構成が重複し、アナライザーでエラーが発生するようになりました。