nginx 如何实现 跨域传递 Cookie?

4 min read

nginx可以通过设置反向代理服务器和配置proxy_cookie_domain指令来实现跨域传递Cookie。

具体步骤如下:

  1. 设置反向代理服务器

在nginx配置文件中添加反向代理服务器配置,将请求转发至目标服务器。例如:

location /api {
    proxy_pass http://example.com;
}
  1. 配置proxy_cookie_domain

在反向代理服务器中,设置proxy_cookie_domain指令,将目标服务器的域名替换为反向代理服务器的域名。例如:

location /api {
    proxy_pass http://example.com;
    proxy_cookie_domain example.com $host;
}

在以上配置中,将example.com替换为目标服务器的域名,$host表示反向代理服务器的域名。

通过以上配置,nginx会将目标服务器返回的Set-Cookie头中的Domain属性替换为反向代理服务器的域名,从而实现跨域传递Cookie。

需要注意的是,此方法只适用于同一根域名下的子域名之间的Cookie传递。对于不同的域名之间,需要使用其他方式实现跨域传递Cookie。