在使用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/;
}
}
发表回复