0

好的,所以,我基本上是在创建一个网站,用户可以在该网站上在亚马逊上购物,但通过我们进行配送。最好的方法是反向代理亚马逊,然后在结账时连接到购物车。

问题:我的所有设置都正确,我的反向代理可以工作,但是当我尝试将项目添加到卡时,亚马逊给了我:

关于您购物车中物品的重要信息:请在您的网络浏览器中启用 Cookie 以继续。

详细了解 cookie 以及如何启用它们。

启用 cookie 后,请单击此处继续购物。

麻烦的是,我已经在传递 cookie:

proxy_pass_header  Set-Cookie;
proxy_pass_header  P3P;

我知道这是可能的,因为我已经看到多个其他网站在做类似的事情,并且在将我的 cookie 与它们进行比较时,我发现它们完全相同。

在此处查看完整的配置文件

更新

我尝试使用proxy_cookie_domain但它也不起作用:

proxy_cookie_domain amazon.com localhost:3000;
proxy_cookie_domain .amazon.com .localhost:3000;
4

1 回答 1

1

Cookies 由 nginx 自动以两种方式传递,您无需修改​​其行为即可继续传递 cookie。

但是,可能发生的是cookieDomain和/或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它来解决它。

于 2017-08-04T21:41:06.033 回答