簡體   English   中英

如何設置VirtualHosts將同一IP上的兩個端口指向不同的ServerNames?

[英]How do I setup VirtualHosts to point two ports on same IP to different ServerNames?

我已經將wiki軟件Gitit設置為在同一個Apache服務器的兩個獨立端口上運行(端口1848和4000)。 我已經確認他們正在運行:

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

現在我想將這兩個網站代理為更漂亮的網址,例如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>

另一個類似於端口4000上的http://wiki.wcaleb.rice.edu的虛擬主機。但是當我發出service httpd restart ,我在啟動httpd時收到一條FAILED消息,而我的瀏覽器無法連接到http:/ /hist118.wcaleb.rice.edu

據我所知,我的httpd.conf的其余部分是發行版附帶的默認文件。 我的服務器正在RedHat Enterprise機器上運行。 我是Apache的新手,所以我確定這里有一個明顯的答案,但在對配置進行各種調整后,我無法弄清楚我做錯了什么。

NameVirtualHostVirtualHost上刪除:1848 (或將其更改為:80 )。 這個練習的重點是讓Apache監聽這些主機名的默認HTTP端口(端口80)以及Gitit正在偵聽的高端口的代理流量。

這是你需要做的。

    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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM