第一次在服务器故障这里,我事先道歉,这个领域的东西是不是真的我的实力。 任何和所有的build议非常感谢。 我完全失去了,令人难以置信的疲惫!
我从前任inheritance了一个令人难以置信的复杂系统,我试图find一种方法来解决它 – 或者我需要被告知这是不可能的。
ServerA (某种Linux发行版)上有一个旧网站,域名为SomeDomain.com ServerB (Ubuntu)上,目的是让SomeDomain.com在将来服务它(它正在取代旧站点) ServerA还有一个Web应用程序,目前正在由公司内的其他部门使用(可在SomeDomain.com/web-app/访问) 目标:要有SomeDomain.com和这个域名的所有扩展(子域,URL等)服务于ServerB上的新站点。 但是,URL SomeDomain.com/web-app/必须在ServerA上提供Web App。
Catch: ServerA是一个共享服务器与托pipe公司与非常限制地方的限制 – 我不能调整DNS设置(除名称服务器 – 但不能设置Alogging或任何东西,我有完全访问ServerB做我想)。 因此,web应用程序必须来自SomeDomain.com/web-app/而不是从子域或任何东西。 这些限制使得将Web应用程序从Server A迁移到Server B变得不可取,而且这个networking应用程序将在不久的将来被replace,所以现在不值得花费精力。
因此,最终我会希望1个域名大部分时间都要parsing到Server B的IP地址,但是如果URL是SomeDomain.com/web-app/ ,则应该parsing为Server A的IP。
注意:在技术上,域名不一定要parsing为一个IP地址或另一个IP地址 – 但最终URL必须保持一致
有些事情我已经尝试过了:
Server B ,我只是检查请求的URI是否/web-app/并尝试提供Server A上的/web-app/文件夹) Server A上创build一个指向Server A的子域(因为托pipe公司的服务器使用URL来确定服务器的位置)。 我想这可能是好的,因为我可以在Server B上设置Alogging以指向Server A上的Web应用程序 – 但是, Server A需要SomeDomain.com 。 如果有更多的信息可以给我,请告诉我。 我需要一个正确的方向,想法或解决scheme。
这里有一堆问题,使得它不像应该那样容易。
首先,我认为处理这个问题的最好方法是:
www.somedomain.com 。 www2.somedomain.com 。 www2.somedomain.com/web-appredirect到www.somedomain.com/web-app 。 现在的细节。
DNS服务器将fqdnparsing为IP地址。 他们无法帮助你做任何事情(比如path)。 DNS请求甚至不包含请求path。
在共享服务器上,几乎可以肯定地使用HTTP 1.1和基于名称的虚拟主机。 换句话说,这个盒子有一个IP地址,它查看请求中的HOST头以确定要提供哪个站点。 Ergo,如果你做了一个基于IP地址的redirect,服务器A只会得到一个123.123.123.123/web-app/foo的HTTP请求,并且在该服务器上有一个gajillion站点,它不知道该怎么做。
由于您的服务器具有不同的内容(至less在一个path中),并且您不能使用基于IP地址的redirect,您将不得不使用不同的fqdn来区分它们。
由于旧网站可能已经build立了www.somedomain.com作为ServerName ,听起来你不能改变它,你唯一的select是创build一个新的服务器名称。
你也可以考虑这个选项:
在serverB上configuration您的networking服务器,作为反向代理,针对特定的位置/ web-app /,并从serverB加载其他位置的内容。
configuration非常简单直接,你会发现很多样本可用。