目 录CONTENT

文章目录

Nginx跨域

简中仙
2022-09-07 / 0 评论 / 0 点赞 / 15 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2023-10-07,若内容或图片失效,请留言反馈。 本文如有错误或者侵权的地方,欢迎您批评指正!

跨域是浏览器的问题。浏览器的同源策略拒绝了我们的请求。 所谓同源是指,域名,协议,端口相同,浏览器执行一个脚本时同源的脚本才会被执行。如果非同源,那么在请求数据时,浏览器会在控制台中报上面的异常,提示拒绝访问。这是为了同一浏览器打开多个网站时,保护你的A网站登陆信息不被B网站拿去访问A网站,B网站登陆信息同理。

浏览器出现跨域问题的时候,会发送两次请求,第一次请求的方法是‘Option’,第二次请求是正常的Get或者post。

跨域解决方法

利用nginx解决跨域,新建一个server,server中内容如下,其中proxy_pass是代理的ip地址以及端口。也就是我们最终请求的地址。也就是在第一次请求的时候,由nginx直接返回204状态,不经过最终的ip地址。(注意修改proxy_pass中的地址)

server {
    listen       8099;
    server_name  localhost;
 
    location  / {
		root   html;
		index  index.html index.htm;
			
        add_header Access-Control-Allow-Origin http://www.domain1.com;  #当前端只跨域不带cookie时,可为*
    	add_header Access-Control-Allow-Origin *;
    	add_header Access-Control-Allow-Headers X-Requested-With;
    	add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
		# 代理到ip地址端口
		proxy_pass       http://xxxx:xxxx;
		}
}
0

评论区