かなりの数のサイトをプロキシするnginxにリバースプロキシがあります。最近、SSL対応のすべてのWebサイトでHTTP Strict Transport Securityを有効にしました。これを有効にしたくないサイトが1つあります。
アップストリームがすでにStrict-Transport-Security
-headerを送信しているかどうかを簡単に確認し、そうでない場合は追加します。そうすれば、私のアップストリームは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";
}
}
しかし、おそらくが悪の場合、これは機能しません。変数が実際に存在することを確認するためにさまざまなことを試してみました(これが事実です)が、何も役に立たないようです。
どうすればこの作品を作ることができますか?