跨域问题

2018-08-22  本文已影响0人  嘻洋洋

什么是跨域

从一个域名的网页去请求另一个域名的资源,比如从www.baidu.com 页面去请求 www.google.com 的资源。它是由浏览器的同源策略造成的,所谓同源是指域名,协议,端口均相同。主域名和子域名是不同,localhost和127.0.0.1虽然都指向本机,但也属于跨域。
由于同源策略的限制,XmlHttpRequest(XMLHttpRequest 是 AJAX 的基础)只允许请求当前源(域名、协议、端口)的资源。

为什么浏览器要限制跨域访问

跨域限制主要是出于安全方面考虑。比如:

常见的场景

跨域问题解决方法

Response.AddHeader("Access-Control-Allow-Origin", "www.baidu.com");
    location / {
                index index.html;   
  
# set single origin
if ($http_origin ~* ^(http|https)?://(m|wx|www)\.jingdong\.(com|cn)$) {
    set $ACAO $http_origin;
}
add_header 'Access-Control-Allow-Origin' '$ACAO';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Max-Age' 86400;             

           proxy_redirect off;  
           proxy_set_header Host $host;  
           proxy_set_header X-Real-IP $remote_addr;  
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           client_max_body_size  15m;
           client_body_buffer_size 10m;

        }
上一篇 下一篇

猜你喜欢

热点阅读