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

让我们假设在domain.com下有现有的web应用程序。 这个程序有不同的语言slu </s>

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

我们需要为domain.com部署新的应用程序,其中domain.com/ln必须保持原样(旧应用程序,而不是我们的代码,不同的平台)。

domain.com/ln可能位于一台物理服务器 1上,其中domain.com将位于物理服务器2 (不同的IP)上?

所以我们假设domain.com的DNS被设置为指向server2

然后,当请求domain.com/ln请求被发送到server2 ,但可以在那里redirect(通过IP ??)到server1 ,旧的应用程序正在运行?

谢谢

是。 您可以使用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地址。