如何使用 nginx 根据请求的域名代理服务器?

如何使用 nginx 根据请求的域名代理服务器?

首先,所有当前请求应该可以正常工作,因为它们目前适用于某些域名。例如 www.hello.com

A动态 DNS将指向 www.hello.com 服务器的同一静态 IP(somedomain.dnsdynamic.com ---> XXX.XXX.XXX.XXX)

全部要求,GET、POST 等被代理到另一带有主机名的服务器finalserver.example.com。(请注意,此服务器没有静态 IP,因此必须使用主机名)

代理应该仅有的当 www.hello.com 服务器收到服务器名称为 somedomain.dnsdynamic.com 的请求时工作

已经尝试记住这一点回答但失败了,出现 502 错误网关或 404 页面未找到

答案1

如果我理解正确的话,您可以尝试定义两个虚拟主机:

  • 一个用于www.hello.com提供本地 Web 服务器内容

  • 另一个somedomain.dnsdynamic.com代理 finalserver.example.com

像这样:

    server {
      listen       80;
      server_name  www.hello.com;
      root /var/www;
      index   index.html;
    }

    server {
      listen       80;
      server_name  somedomain.dnsdynamic.com;

      location / {
        proxy_pass  http://finalserver.example.com;
      }
    }

相关内容