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

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




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

对的,就是这个问题,
然后下面这是我在网上百度的方法

#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监听的端口写上来

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

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

人吐槽 人点赞

猜你喜欢

发表评论

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

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