在单个域下托管多个 Web 应用程序

在单个域下托管多个 Web 应用程序

我有一个域,我想在两个 Web 应用程序之间共享它。一个是 Wordpress,另一个是 Rails,托管在两个独立的服务器上。具体来说,我希望由一个服务器处理少量 URL 资源,而不是由另一个服务器处理。

例如:

http://example.com/ -Wordpress
http://example.com/about -Wordpress
http://example.com/some-other-random-page -Wordpress
http://example.com/signup -Rails

可以使用重写规则来实现吗?还是我需要在两个 Web 应用程序前面设置代理服务器?

答案1

在这种情况下,URL 重写是不够的。您需要在这两个服务器前运行代理。然后,此代理可以(基于 URL)将每个请求转发到适当的服务器。

答案2

您可以在两者前面设置一个代理服务器,或者让一个服务器(比如说,Wordpress 服务器)代理另一个服务器,以便处理它应该处理的位置。

例如:

<Location /signup>
    ProxyPass http://rails-server-name-or-ip/signup
    ProxyPassReverse http://rails-server-name-or-ip/signup
</Location>

答案3

只是一个想法,但您可以将 example.com 指向通用 isapi 重写站点,然后让 isapi 不仅更改 URL,还更改端口。这将是绕过代理需求的一种方法。然后您只需设置端口转发/NAT,这样 80 就转到一个服务器,81 转到另一个服务器。

http://example.com/-WordPress http://example.com/about-WordPress http://example.com/some-other-random-page-WordPress http://example.com:81/signup-轨道

相关内容