如何设置2个指向Apache for Rails中相同位置的URL

我想指出2个url到相同的应用程序。 似乎这将是容易的,但它不工作!

现有的设置如下所示:

<VirtualHost *:80> DocumentRoot /home/some/path ServerName long_foo_name.com RewriteEngine On ProxyRequests Off ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost on AccessFileName .htaccess <Proxy *> Order deny,allow Allow from all </Proxy> </VirtualHost> 

我复制/粘贴这个和修改的服务器名称到新的服务器名称(让我们说“foo.com”)。 当我尝试去foo.com时,我得到了默认的Fedoratesting页面。 Apache错误日志显示“通过Options指令禁止的目录索引”,并且rails日志未显示请求正在触发rails。

可能或不可能相关的一个警告是这样的。 第二个域(在本例中是“foo.com”)是一个“租用”URL。 含义。 我实际上并不拥有它,它是由业主租给我的。 当我ping通域名时,返回的IP实际上与我的服务器不同。

但是对这个域的请求正在打我的服务器(如apache访问日志所示)。 所以看起来对这个域的请求是由他们的服务器代理的。

这个代理可以影响Apache如何处理请求?

它看起来像他们代理。 您可以通过点击该网站并查看源IP来validation这一点 – 如果这是您的,那么他们不是代理,他们正在做一些非常奇怪的事情,否则源IP应该是他们的代理服务器的IP。 我会想象他们的代理可能会做各种不愉快的事情 – 如果Host头由他们的代理服务器发送不是你所期待的,例如,那么自然会造成问题。 我总是将提供的虚拟主机名称logging在我的“默认虚拟主机”日志中,因为这个原因 – 它告诉我什么人可能会打我。

当涉及到安装,我强烈build议让他们改变DNS直接指向您的服务器。 你“租赁”域是无关紧要的; DNS仍然可以正确pipe理。 唯一的代理是有意义的,如果他们只是redirect网站的一部分给你,并在本地在同一域的其他内容。 对于你的Apacheconfiguration,你为什么要设置一个单独的虚拟主机,而不是在现有的虚拟主机上添加第二个域名作为ServerAlias