NGINX如何解决AJAX跨域问题,感觉理解有严重的问题

服务监听的8082端口,发布到生产上面通过NGINX 8081代理到8082端口 8081端口也会跨域调用到8082的某一个API 服务IP已经绑定域名

  1. nginx监听端口不能和服务端口一致不是很容易导致跨域的问题吗?
  2. 在跨域调用的时候,在本地应该使用的8082端口,发布到服务器上应当使用8081去代理到8082端口上面?
  3. NGINX监听的端口是否可以和代理的端口一致?


跨域给服务器配这个就好了。

location / {  
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    if ($request_method = 'OPTIONS') {
        return 204;
    }
} 

没看懂问题

首先,跨域问题是谁检测的呢,是浏览器,比如,浏览器通过访问服务器上的8081端口加载了一个H5,然后这个H5里面呢访问了服务器上8082端口的一个接口,这时候浏览器认为自己本来访问的应用是8081端口的,怎么能在这个应用里又访问另一个ip的应用呢,然后就报跨域了。
然后,如果用nginx同时代理了8081跟8082端口呢,浏览器就只会访问nginx的端口,就不会产生ip地址变化,就不会跨域了
最后,一个端口能被两个应用占用吗?