问答详情
源自:5-18 调用方解决跨域 - 隐藏跨域

nginx隐藏跨域时,a.com域名下设置的cookie为啥能被传递给被调用方,也就是服务端?

http://img1.mukewang.com/5e439c280001b5c014620758.jpg

nginx隐藏跨域时,a.com域名下设置的cookie为啥能被传递给被调用方,也就是服务端?

提问者:悲伤向右 2020-02-12 14:35

个回答

  • 慕神2449810
    2021-01-17 17:06:33

    浏览向某个域发起请求时,只能带上该域下的cookie。我的理解是,隐藏跨域时,浏览器没有跨域,只是Nginx跨域了,但是Nginx又没有跨域限制。浏览器一直都是向同一个域发起请求,所以cookie应该设置在该域下,然后cookie应该是被Nginx转发到后台了吧

  • 网络时空
    2020-03-06 13:53:46

    看a.bom.conf文件配置内容,   
       listen 80;
        server_name a.com;
        #调用方
        location / {    
            proxy_pass http://localhost:8081;
        }
    当我们在浏览器中输入a.com时就,浏览器监听到是同域,已经将请求转发到 调用方的http服务器nginx了,调用方的http服务器,即调用方的nginx监听到80端口和a.com域名后,根据 location / {    
            proxy_pass http://localhost:8081;
        } 已经直接访问到被调用方的http服务器了。所以这时候,我们定义的document.cookie的时候,实际就是在在被调用方的http服务器上被定义了,根据就不存在你说的 cookie为啥能被传递给被调用方了,因为我们本身就是在被调用方的http服务器上定义的。  不知道解释这么具体,你明白了没?