![DNS 用于在一台服务器上托管根域并在另一台服务器上托管特定路径](https://linux22.com/image/687497/DNS%20%E7%94%A8%E4%BA%8E%E5%9C%A8%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%98%E7%AE%A1%E6%A0%B9%E5%9F%9F%E5%B9%B6%E5%9C%A8%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%98%E7%AE%A1%E7%89%B9%E5%AE%9A%E8%B7%AF%E5%BE%84.png)
我很快就要将一个网站转移到我的服务器上供客户使用。该网站目前位于 www.xxx.com。他们在服务器上的文件夹中有一个第三方应用程序,网址为 www.xxx.com/app/。
该应用非常庞大,无法在我们的服务器上存放,因此他们希望将其托管在原处,并将网站的其余部分移至我的服务器。但他们希望保持 URL 不变。
所以... www.xxx.com -----> 我的服务器 www.xxx.com/app/ -----> 他们的服务器
有什么方法可以通过 DNS 实现这一点吗?
答案1
是的,这在很多情况下是可行的,但使用 DNS 则不行。相反,您可以/app
在 Web 服务器中将此目录设置为反向代理,然后将请求转发到原始服务器。
我说“很多情况”,因为有些应用程序可能会使这变得困难,例如,如果它们使用绝对链接和路径名而不是相对链接和路径名。
答案2
不。DNS 只关心主机名部分。除了之前建议的反向代理之外,您还可以设置子域名 app.xxx.com。
然后,您可以设置重定向/重写规则,以便将 www.xxx.com/app 转发到 app.xxx.com,并且在原始服务器上从 app 文件夹提供对 app.xxx.com 的请求。