利用ngnix解决跨域问题

一,定义

  跨域是指从一个域名的网页去请求另一个域名的资源,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域。

  例如:相对http://www.cnblogs.com/wxw1314/index.html同源检测的结果

url 结果 原因
https://www.cnblogs.com/wxw1314/ 失败 协议不同
http://www.cnblogs.com:8080/wxw1314/ 失败 端口不用
http://news.cnblogs.com/wxw1314/ 失败 主机名不同

 

 

 

 

 

二,解决方法:利用反向代理器nginx解决

 主要是修改nginx的配置文件E: ginx-1.12.2conf ginx.conf

 1 location / {
 2        #root为项目的路径
 3         root   E:WebstormProjectswebPage;
 4         index  index.html index.htm;
 5 }
 6 location /apis {
 7     #proxy_pass为访问接口的路径
 8         rewrite  ^.+apis/?(.*)$ /$1 break;
 9         include  uwsgi_params;
10         proxy_pass  http://www.cnblogs.com;
11  }

在项目访问接口时把路径http://www.cnblogs.com全部换成/apis

如图

就可以实现跨域访问。

 

 

原文地址:https://www.cnblogs.com/wxw1314/p/8781970.html