前端配置nginx跨域

nginx.config中:

server {
        listen       80;
        server_name  127.0.0.1;
    location / {
        proxy_pass http://127.0.0.1:3000;
    }
    location ~/yunwei/ {
            proxy_pass http://47.9.18.7:7015;   //接口地址
    }

ajax中:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1:3000/yunwei/user/getWaitingConfUsers', true);

本地webstorm打开项目的地址是 localhost:63342/
试了很久都没成功,到底该如何配置

阅读 4.1k
4 个回答

你这nginx服务的端口配的是80

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1:80/yunwei/user/getWaitingConfUsers', true);
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://localhost/yunwei/user/getWaitingConfUsers', true);

代理到的是:http://47.9.18.7:7015/yunwei/user/getWaitingConfUsers,如果这个接口不通说明是接口的问题。不是配置的问题。

如果接口没问题,看下本地host文件中有以下映射吗
127.0.0.1    localhost
::1             localhost

还有就是你的nginx服务启动了吗?
> nginx start 

location /yunwei/ {

        proxy_pass http://47.9.18.7:7015;   //接口地址
}

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1/yunwei/user/...', true);

本地打开需要配置root,root里是本地项目的html的路径;
配置了 location /yunwei/ {proxy_pass http://xxx.xxx;}之后,请求的U...
‘yunwei/user/xxxx’
在浏览器打开localhost:8888 端口号是nginx中配置的端口号

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题