亚马逊说我不会传递cookie,但我是

时间:2017-08-04 20:11:14

标签: nginx cookies nginx-reverse-proxy

好的,所以,我基本上创建了一个网站,用户可以在亚马逊上购物但通过我们发送。最好的方法是逆转代理亚马逊,然后在结账时挂上购物车。

问题:我的设置正确,我的反向代理工作正常,但当我尝试向卡片添加商品时,亚马逊给了我:

  

有关购物车中商品的重要信息:请在中启用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;

1 个答案:

答案 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来解决它。