【发布时间】:2012-12-09 04:08:52
【问题描述】:
我已将 wiki 软件 Gitit 设置为在同一 Apache 服务器的两个独立端口(端口 1848 和 4000)上运行。我已经确认他们正在运行:
http://wcaleb.rice.edu:4000
http://wcaleb.rice.edu:1848
现在我想将这两个站点代理为更漂亮的 URL,例如 http://wiki.wcaleb.rice.edu 和 http://hist118.wcaleb.rice.edu。两者的 IP 地址都是 128.42.173.84
我的服务器管理员已为这些名称添加了 DNS 条目,但我似乎无法让我的 Apache 配置正常工作。在instructions here之后,我尝试像这样设置一个VirtualHost:
NameVirtualHost *:1848
<VirtualHost *:1848>
ServerName hist118.wcaleb.rice.edu
DocumentRoot /var/www/
RewriteEngine On
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPassReverse / http://127.0.0.1:1848
RewriteRule ^(.*) http://127.0.0.1:1848$1 [P]
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
</VirtualHost>
另一个类似的虚拟主机http://wiki.wcaleb.rice.edu 在端口 4000 上。但是当我随后发出 service httpd restart 时,我在启动 httpd 时收到 FAILED 消息,我的浏览器无法连接到 http://hist118.wcaleb.rice.edu。
据我所知,我的 httpd.conf 的其余部分是发行版附带的默认文件。我的服务器正在 RedHat Enterprise 机器上运行。我是 Apache 的新手,所以我确信这里有一个明显的答案,但是在尝试了对配置的各种调整之后,我无法弄清楚我做错了什么。
【问题讨论】:
-
这个问题更适合serverfault
-
你可以尝试直接运行
httpd -t让它检查语法,你可能有语法错误。当您看到 FAILED 时,服务器从未启动。 -
该命令返回
Syntax OK。我也不完全明白说服务器从未启动是什么意思。即使收到FAILED消息后,我仍然可以访问我的网站。 -
@CalebMcDaniel 也许我的 apache 生锈了,我认为它要么全部出现,要么什么都没有 :(。出于好奇,为什么要代理端口,为什么不只做标准虚拟主机,然后全部运行不在同一个端口?
-
@Collin:Gitit 在指定端口上启动自己的 Web 服务器,所以我需要两个独立的端口来拥有不同的 Gitit 实例。
标签: linux virtualhost apache