5

我已将 wiki 软件 Gitit 设置为在同一 Apache 服务器的两个独立端口(端口 1848 和 4000)上运行。我已经确认他们正在运行:

http://wcaleb.rice.edu:4000
http://wcaleb.rice.edu:1848

现在我想将这两个站点代理为更漂亮的 URL,例如http://wiki.wcaleb.rice.eduhttp://hist118.wcaleb.rice.edu。两者的 IP 地址都是 128.42.173.84

我的服务器管理员已为这些名称添加了 DNS 条目,但我似乎无法让我的 Apache 配置正常工作。按照此处的说明,我尝试像这样设置 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 的新手,所以我确信这里有一个明显的答案,但是在尝试了对配置的各种调整之后,我无法弄清楚我做错了什么。

4

2 回答 2

0

这是你需要做的。

    NameVirtualHost *:80

    <VirtualHost *:80>
    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>
于 2012-12-21T16:45:32.717 回答
0

删除:1848(或将其更改为:80NameVirtualHostVirtualHost。本练习的重点是让 Apache 在默认 HTTP 端口(端口 80)上侦听这些主机名,并将流量代理到 Gitit 正在侦听的高端口。

于 2012-12-21T16:11:30.963 回答