Nginx将子域名重定向到不同的服务器IP

4
我有一个动态IP地址,使用ddclient进行管理。我使用no-ip来维护主机名并将其指向我的IP地址。
我有www.somename.com、sub.somename.com和app.somename.com。显然,它们都指向我的IP地址。前两个是运行NGINX的服务器(server1)上的几个WordPress页面,每个站点在sites-available中都有单独的配置文件。后者是运行GitLab的单独应用程序服务器(server2)。
我的路由器不允许我切换子域名,因此所有80端口流量都被路由到server1。我希望在nginx中应用一种配置,使我能够将app.somename.com的所有流量发送到我的网络上的本地IP地址(192.168.0.nnn),但保持页面的地址为app.subdomain.com。
现在,我有:-
/etc/nginx/site-available$ ls
somename.com    domain    sub.somename.com   app.somename.com

相关内容链接在sites-enabled中。对于应用服务器,我有:-
server {
        server_name app.somename.com;
        location / {
                proxy_pass http://192.168.0.16:80;
        }
}

问题在于,在浏览器地址栏中,结果显示为:

http://192.168.1.16/some/pages

而我想要的是:

http://app.somename.com/some/pages

我该如何解决这个问题?

1个回答

10
你可以尝试像这样做!
server {
        server_name app.somename.com;
        location / {
                proxy_pass http://192.168.0.16:80;
                proxy_set_header Host app.somename.com;
        }
}

2
太好了!proxy_set_header 正是所缺少的。非常感谢你! - Metz
没问题。我很高兴能够帮忙! - Bogdan Stoica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接