在使用nginx进行反向代理不同域名站点时,cookie也需要进行替换,才能被写入到浏览器中。通常在代理一些身份认证的站点时需要,如sso(单点登录)。
如xyz.test.com的域名,代理192.168.1.100,如不处理的话,仍然会返回path=192.168.1.100的cookie,而此时的请求地址是https://xyz.test.com,cookie是无法写入的。
当使用proxy_cookie_domain进行转换后,会将cookie的path替换成xyz.test.com,此时就可以顺利写入cookie了。
server { listen 443 ssl; server_name xyz.test.com; ssl_certificate cert/_test_com.pem; ssl_certificate_key cert/_test_com.key; location / { proxy_cookie_domain 192.168.1.100 xyz.test.com; proxy_pass http://192.168.1.100/; } }
发表回复