nginx 重定向子域到单独的服务器 ip

nginx redirect subdomain to seperate server ip

我有一个使用 ddclient 管理的动态 IP。我使用 no-ip 来维护主机名以指向我的 IP。

我有 www.somename.com、sub.somename.com 和 app.somename.com。显然,这些都指向了我的IP。前两个是服务器 (server1) 运行 NGINX 上的几个 wordpress 页面,每个站点都有单独的配置。后者是一个独立的应用服务器(server2)运行 GitLab。

我的路由器不允许我打开子域,因此所有端口 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

相关的链接已启用站点。对于应用服务器,我有:-

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

我该如何解决这个问题?

你可以这样试试!

server {
        server_name app.somename.com;
        location / {
                proxy_pass http://192.168.0.16:80;
                proxy_set_header Host app.somename.com;
        }
}