1.質問:
https環境では、セキュリティ要件はset-cookieにsecure属性を追加することです(セキュリティのために、httpリクエストでこのcookieが使用されないようにするため)
2.解決策1:解決策1:
proxy_cookie_path属性はnginx構成ファイルで使用できます。これにより、応答set-cookieのpath属性を変更できます。次のように:
proxy_cookie_path / "/; Path=/; Secure; HttpOnly";
注:上記のコードを有効にするには、Path = /属性が元のset-cookieに存在している必要があります。コード手段:パス= /値/置き換え/;パス= /;セキュア; HttpOnlyの
完全なロケーションコード:
location / {
proxy_store off;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
client_max_body_size 1000m;
proxy_pass http://aaa_shengchan_http;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
add_header Nginx-Cache "$upstream_cache_status";
proxy_cookie_path / "/; Path=/; Secure; HttpOnly";
}
変更された結果:
3、ソリューション2
HeadersMoreモジュールでmore_set_headersディレクティブを使用します
ヘッダーの値を直接、単純で失礼に変更します。
more_set_headers 'Set-Cookie: $sent_http_set_cookie; secure';
ただし、headers_moreモジュールは個別にインストールする必要があります。モジュールには主に4つの命令があります。
- more_set_headersは、応答ヘッダーを追加、変更、およびクリアするために使用されます
- more_clear_headersは、応答ヘッダーをクリアするために使用されます
- more_set_input_headersは、リクエストヘッダーを追加、変更、クリアするために使用されます
- more_clear_input_headersは、リクエストヘッダーをクリアするために使用されます
nginxはheaders_moreモジュールリファレンスを追加します:https://blog.csdn.net/qinxu0611/article/details/104231142?utm_medium = distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&dist_request_id = 890ec0c1-c03e-47cc-8 51813c12 -utm_source = distribute.pc_relevant.none-タスク-ブログ-BlogCommendFromMachineLearnPai2-2.control
インストールされたnginxは新しいモジュールリファレンスを追加します:https://blog.csdn.net/hqy860822/article/details/86540094
4.その他:
proxy_cookie_pathと同様の属性は次のとおりです。
1. Proxy_cookie_domain:この機能は、応答のset-cookieヘッダーのドメインオプションを変換することです。バックエンドによって設定されたドメイン名は、Cookieのスムーズな配信を保証し、現在のCookieに書き込むために、ドメイン名の置換に変換されます。ページ。proxy_cookie_domainが責任を負うことに注意してください。応答set-cookieヘッダーのドメイン属性を処理するだけで、それ以上は何もしません。
2. proxy_cookie_flags: Cookieに1つ以上のフラグを設定します。これにcookie
は、テキスト、変数、およびそれらの組み合わせを含めることができます。 パラメータは、フラグを、対応する追加されます。 、 、 フラグの対応するパラメータを除去します。(この属性を使用したかったのですが、nginxがproxy_cookie_flags属性を認識できない理由がわかりません。)secure
httponly
samesite=strict
samesite=lax
samesite=none
nosecure
nohttponly
nosamesite
Nginx公式ドキュメントhttp_proxy_moduleモジュール:http ://nginx.org/en/docs/http/ngx_http_proxy_module.html