谷歌广告js代码被cors policy阻止。


我设置的origin和google检测的origin不一样。

access to xmlhttprequest at "https://.....google...."  from "https://h5.ycbbm.com" has been blocked by cors policy.

原因是 http header里面的请求头和实际的h5.ycbbm.com不一样,也就是在nginx端设置错了。 Origin 如何设置错了,在本域内,没问题,但是请求第三方的 资源时候,出现了混乱, 好比是 a(自己设置的origin) 请求b, 然后实际的地址是 c ,通过c请求的b。这样就混乱了, 好比用你的信息,给别人发信,谷歌浏览器预先判断了这个问题,提示:c(也就是别人)不允许发信。

因为你指定 a去做,但实际是c去做,那就说明c没有权限做,而实际上是你指定错了。如果你不指定的话(也就是不配置origin),那谁去发,就默认你指定了谁。  这算是多此一举,画蛇添足了。

                proxy_set_header Host $http_host; 
                proxy_set_header Origin https://$Host; #正确处理, 这个留空更好,使用默认的值

阅读量: 453
发布于:
修改于: