0

clipboard.png

是这样的,如图所示我的域名是oi.XXX.com 接口访问的也是oi.XXX.com

但是我想让调用接口的时候访问的是dev.XXX.com

想问一下各位大牛我的nginx应该怎么改呢
当前配置如下

server{

# 监听端口
listen 80;

# 本地域名
server_name dev.yuanoi.com;

# 根目录
root /data/wwwroot/dev.guquan381.com;

access_log logs/dev.yuanoi.com.access.log;
# 错误日志
error_log logs/dev.yuanoi.com.error.log;


# 映射到oi
location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr; #获取真实ip
    proxy_connect_timeout 90;
    proxy_send_timeout 90;
    proxy_read_timeout 90;
    proxy_buffer_size 4k;
    proxy_buffers 4 32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size 64k;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip
    proxy_pass http://oi.yuanoi.com;    #转向 处理
    proxy_redirect off;
}

location ~ ^/favicon\.ico$ {
    root /data/wwwroot/oi.guquan381.com;
}

location @fallback {
    rewrite ^.*$ /index.html break;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
    expires 30d;
}

location ~ .*\.(js|css)?$ {
expires 12h;
}

}

2019-09-11 提问
3 个回答
0

server_nameproxy_pass两个域名配反了

0

在所有接口前面加上/api,然后配置location ^~ /api {

proxy_pass         http://dev.XXX.com; 

}

0

虽然不知道你是不是表达反了, 但是你的这行 proxy_set_header Host $host;
是明显会出问题的,按照你的写法 反向代理请求服务器 http://oi.yuanoi.com的时候,header中的host确是 dev.yuanoi.com, 这会导致服务vhost匹配不到 server_name oi.yuanoi.com,
你把 proxy_set_header Host $host; 改成 proxy_set_header Host oi.yuanoi.com;试试看

撰写答案

推广链接