好的,所以,我基本上创建了一个网站,用户可以在亚马逊上购物但通过我们发送。最好的方法是逆转代理亚马逊,然后在结账时挂上购物车。
问题:我的设置正确,我的反向代理工作正常,但当我尝试向卡片添加商品时,亚马逊给了我:
有关购物车中商品的重要信息:请在中启用Cookie 您的Web浏览器将继续。
详细了解Cookie以及如何启用它们。
启用Cookie后,请点击此处继续购物。
麻烦的是,我已经传递了cookie:
proxy_pass_header Set-Cookie;
proxy_pass_header P3P;
我知道这是可能的,因为我已经看到多个其他网站做类似的事情,并且在将我的cookie与它们进行比较时,我发现它们完全相同。
请参阅完整配置文件here
我尝试使用proxy_cookie_domain
,但它也不起作用:
proxy_cookie_domain amazon.com localhost:3000;
proxy_cookie_domain .amazon.com .localhost:3000;
答案 0 :(得分:1)
Cookie会自动通过nginx双向传递,您无需修改其行为即可继续传递Cookie。
然而,可能发生的事情是cookie的Domain
和/或Secure
属性不匹配,因此,您的浏览器不接受cookie,和/或不发送它是由于非安全连接和/或域不匹配造成的。
https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie
Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>; Secure
如果是域名问题,您可以使用proxy_cookie_domain
来解决它。