Pre*_*hev 5 nginx proxy reverse-proxy cookies
对于我的一个项目,我需要连接一长串机器,这些机器实质上是相互代理 HTTP 请求。它是这样的:
网络客户端 - A - B/C - D
当浏览器发出请求时,它首先通过一个位于用户本地机器上的薄 PHP 代理层,其目的是解决跨域请求等复杂问题。它代理到机器 B - 只是一个 nginx 实例,它将 URL 和代理重写到 C。C 在代理到 D 之前进行一些必要的修改,获取响应,并将其返回给 Web 客户端。D 是一个无法触及的远程服务 API。
我在机器 C 上设置会话 cookie 时遇到问题,一直到原始请求。尽管可以设置 cookie,但是当有新请求时,它在 Chrome 网络检查器中不可见,并且当我尝试从显然不存在的 cookie 中获取值时,节点 C 返回空指针异常。
我想,这归结为调整 nginx 代理请求的方式。
检查 server {} 块中 C 处的 nginx 配置中是否有以下设置:
proxy_pass_header Set-Cookie;
proxy_pass_header P3P;
Run Code Online (Sandbox Code Playgroud)
这足以传递cookie。
| 归档时间: |
|
| 查看次数: |
11523 次 |
| 最近记录: |