Nginx
Nginx 中的 http_cookie 和 cookie_name 有什麼區別?
我想在 Nginx 中添加遠端 ip 作為 Cookie,以便可以將其傳遞給 AWS 負載均衡器以實現負載均衡器的粘性。
location / { proxy_set_header Cookie "$http_cookie; ip=$remote_addr"; proxy_pass http://app_upstream; }
我正在使用這些來設置 cookie,但 AWS ELB 不接受它作為粘性。由於此伺服器用作 iframe,因此在預設情況下阻止 3rd 方 cookie 的 Safari/iOs 的情況下,我不能使用 ELB 生成的 cookie 進行負載平衡。
我願意放棄 nginx 並編寫自定義反向代理。
變數$http_是關於 http 標頭的。所以如果你有 $ http_host, it’s grabbing the host from the header. If you say $ http_cookie,你得到了整個 cookie。
變數$cookie_是關於一個特定的 cookie。所以如果你有$cookie_foo,那麼你會得到名為foo的cookie的值,它可能是bar。
Cookie 是自動傳遞的,除非它具有不同的域或路徑,否則您無需對其執行任何操作。如果您嘗試添加特定的 cookie,它會是:
add_header Set-Cookie foo=bar;