nginx 根据 url slug 重写到同一域下的另一台服务器

nginx 根据 url slug 重写到同一域下的另一台服务器

假设 domain.com 下有一个现有的 Web 应用。此应用有不同的语言版本

domain.com/ln domain.com (默认语言)

我们需要部署新应用域名.com在哪里域名.com/ln必须保持原样(旧应用程序,不是我们的代码,不同的平台)。

有可能 域名.com/ln将在一个物理上服务器1, 在哪里域名.com将进行身体服务器2(不同的 IP)?

假设 DNS 为域名.com设置为指向服务器2

然后,当请求域名.com/ln请求发送至服务器2,但可以重定向(通过 IP??)到服务器1,旧应用程序在哪里运行?

谢谢

答案1

是的。您可以使用 nginx http 代理模块来实现这一点。

在 server2 上,您需要有以下位置块:

location /ln {
    proxy_pass http://old.domain.com/ln;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
}

这将使 nginx/ln从旧服务器请求 URI 下的资源,这里该服务器添加到 DNS 名称下old.domain.com。您也可以在此处使用 IP 地址。

相关内容