侧边栏壁纸
博主头像
SANDIVIK 博主等级

行动起来,活在当下

  • 累计撰写 65 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

记录一个反向代理cookie问题

Administrator
2024-09-12 / 0 评论 / 0 点赞 / 38 阅读 / 622 字

在使用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/;
  }
}
    location / {
       proxy_set_header Host $proxy_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass https://www.aaa.xyz;
        proxy_ssl_server_name on;
        proxy_cookie_domain www.aaa.xyz xbo.ddd.com;
    }
0

评论区