Nginx – 五、实用代理之proxy_cookie_domain

在使用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/;
  }
}