nginx的反向代理

发布于 2022-09-11 22:22:42 字数 1163 浏览 18 评论 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;
}

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瑾夏年华 2022-09-18 22:22:42

server_nameproxy_pass两个域名配反了

杀手六號 2022-09-18 22:22:42

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

proxy_pass         http://dev.XXX.com; 

}

千纸鹤 2022-09-18 22:22:42

虽然不知道你是不是表达反了, 但是你的这行 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;试试看

伪心 2022-09-18 22:22:42

nginx层做转发 或者 在应用代码里 去做重定向

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文