利用ngnix解决跨域问题

时间:2021-10-19 13:00:14

一,定义

  跨域是指从一个域名的网页去请求另一个域名的资源,它是由浏览器的同源策略造成的,是浏览器对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:\nginx-1.12.2\conf\nginx.conf

 location / {
#root为项目的路径
root E:\WebstormProjects\webPage;
index index.html index.htm;
}
location /apis {
#proxy_pass为访问接口的路径
rewrite ^.+apis/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass http://www.cnblogs.com;
}

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

如图

利用ngnix解决跨域问题

就可以实现跨域访问。