当前位置: 代码迷 >> 综合 >> nginx跨越请求 ---- 已拦截跨源请求:同源策略禁止读取位于....的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。
  详细解决方案

nginx跨越请求 ---- 已拦截跨源请求:同源策略禁止读取位于....的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

热度:26   发布时间:2023-12-24 10:54:49.0

本来准备起名叫:nginx监听非80端口;但是想一想这样起名字的话,那么这个问题肯定不容易百度到,然后就可能得不到解决了,大家就将就的看一下吧。
这个问题已经算是把我给折磨的不行了,准备进医院




nginx报跨越异常,一直解决不了,网上百度nginx跨越请求的解决方法前五页的全部尝试了一遍,还是得不到解决,我甚至在想我是不是我的服务器哪里出了问题
先来一波截图:
这里写图片描述
这里写图片描述
这里写图片描述
对的,就是这个问题,
然后下面这是我在网上百度的方法

#add_header 'Access-Control-Allow-Origin' '*';#add_header 'Access-Control-Allow-Headers' 'Content-Type';#add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';#if ($request_method = 'OPTIONS') {# return 200;#}

然后这些方法还是不行
而我造成这个问题的原因就是因为我监听的是非80端口,原因是:nginx什么什么,获取什么什么导致了异常;百度nginx监听非80端口,(推荐一篇:https://www.cnblogs.com/ANCAN-RAY/p/8078806.html)

最后解决办法:
1:

server {listen       8083;server_name  192.168.0.187;......location /{proxy_set_header  Host $host:8083;proxy_set_header  X-Real-IP  $remote_addr;proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass     http://192.168.0.187:80;}

注意的地方:
listen 8083;
proxy_set_header Host $host:8083;
proxy_pass http://192.168.0.187:80;

2:nginx监听80端口,Tomcat监听非80端口:

server {listen       80;server_name  192.168.0.187;......location /{proxy_set_header  Host $host;proxy_set_header  X-Real-IP  $remote_addr;proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-For $remote_addr;proxy_pass     http://192.168.0.187:8081;}
        proxy_set_header  Host $host;#后面可以不用跟端口,也可以跟端口(proxy_set_header  Host $host:80;)

3:

            proxy_set_header  Host $host:80;#后面最好是把nginx监听的端口写上来

小弟我水平有限,不懂得地方就用什么什么代替了,我真的没有仔细研究这个东西,怕误导了大家,所以大家将就一下

  相关解决方案