设置虚拟主机文件以托管来自远程服务器的源代码

时间:2013-03-24 12:35:23

标签: linux apache virtualhost

我非常感谢您对以下调查的支持

现状:

我在Linux Apache服务器“A”上有一个Web应用程序(包含一个上载文档的模块),只能通过Intranet进行HTTP编辑。

必需:

另一个Linux Apache服务器“B”需要托管同一个Web应用程序,同时仅在服务器“A”上维护源代码。服务器“B”可以通过互联网和内联网进行HTTP编辑。

阻止点

在目前情况下,我们无法直接在服务器“B”上托管网站(这似乎是合乎逻辑的解决方案)。

问题:

是否可以根据此要求设置httpd.conf文件的虚拟主机?

研究

通常我的大部分调查结果都是关于部署负载分担/负载平衡解决方案的帖子(不是我的目标),或者在“A”和“B”之间设置双向同步过程(最后的解决方案)。

用Google搜索字符串:

在两台服务器之间共享网站,两台服务器上的主机网站,另一台服务器上的虚拟主机,多台服务器上的单一网站设置,另一台服务器上的网站虚拟主机,两台不同服务器上的主机网站,设置两台linux服务器托管同一个网站

服务器详细信息:

服务器A:

  • 服务器IP:192.168.xxx.xxx(仅可通过Intranet访问)

  • 托管网站源代码

  • Apache服务器

  • 操作系统:RHEL5

服务器B:

  • 可通过内联网和互联网访问

  • Apache服务器

  • 操作系统:与A(RHEL5)相同

1 个答案:

答案 0 :(得分:0)

总结一下你现在可能已经找到的东西:不幸的是,有两件事叫做代理。您感兴趣的称为反向代理,其中B将接收请求并将其转发给A.客户端永远不会看到A甚至存在。根据您所看到的安全角度,几乎没有安全问题:

  1. 服务器A只能看到来自B的请求,而不是原始客户端,因此应在服务器B上配置您想要的任何基于IP的限制。

  2. 通常提到的安全问题是(转发)代理会代表客户端询问任意服务器的内容,因此它会掩盖客户端的身份。只要您将ProxyRequests Off设置为禁用转发代理,我认为您不必担心这一点。

  3. 服务器A可能会意外泄露您的IP,您可能会对此感到不舒服。当B将对从A收到的客户端请求的回复传回时,它将不会查看有效负载。因此,如果您返回HTML文档,它们最好只有相对路径。我认为这可能是您遇到的问题:如果您的代码仍然包含对192.168.x.y的引用,那么这些将不适用于外部客户端。如果你正在改变路径(即你有ProxyPass /somepath http://internal-server/otherpath之类的东西),事情变得更加复杂,所以尽量避免这种情况。 (一般情况下,您的后端应用程序需要了解其公开可见的URI是什么。如何执行此操作取决于应用程序。)