nginx反向代理添加配置支持ajax跨域访问
今天折腾个问题折腾了半天,所以记录下,也分享给各位有需要的朋友。很抱歉,最近比较忙,事情多,所以没时间写文章。
1
首先配置nginx,在server中添加反向代理对跨域的支持,即在location / {}中添加:
add_headerAccess-Control-Allow-Origin域名(注意,要带上http);
如果你不要支持ajax获取cookie并在请求时自动带上cookie,那么这里可以配置为*,即支持所以其它域名跨域访问。
add_headerAccess-Control-Allow-Credentialstrue;
设置该项可支持ajax可获取到cookie。
add_headerAccess-Control-Allow-MethodsGET或者POST请求;
声明跨域支持的请求方法,可以是get,post或是组合。
举例:
2
修改ajax请求时自动加上cookie,xhrFields:
此时如果项目时上传到nginx配置Access-Control-Allow-Origin所指定的域名服务器时,那么运行是没问题的,但如果你是在本地开发调试,那么浏览器就会报错了。别急,往下就是我自己想出来的解决办法。
3
因为我的电脑是mac系统的,所以我只说msc上的做法,windows同理。打开终端,输入vim /etc/hosts 在文件末尾添加一条dns解析:127.0.0.1 nginx配置支持跨域的域名,写完后保存退出,同时浏览器中把127.0.0.1改为该域名就可以了。
查看调试结果:
关注我们
领取专属 10元无门槛券
私享最新 技术干货