如何在Apache中存取內網虛擬主機?

如何在Apache中存取內網虛擬主機?

這可能是個愚蠢的問題,但我很累,找不到解決方案。

我目前有一個在 Ubuntu 10.4 上運行的 Apache Web 伺服器,並且我使用 DynDNS 服務使外部世界可以透過網域和/或子網域存取它們。

我的配置目前如下:

<VirtualHost *:80>

    ServerAdmin     <obscured>@<obscured>.com
    ServerName      <subdomain>.<obscured>.com
    ServerAlias     <subdomain>

    DocumentRoot    /<obscured>/<subdomain>

    <Directory />
        Options         FollowSymLinks
        AllowOverride   None
    </Directory>

    <Directory /<obscured>/<subdomain>>
        Options         Indexes FollowSymLinks MultiViews
        AllowOverride   All
        Order           Allow,Deny
        Allow           From All
    </Directory>

    ErrorLog    ${APACHE_LOG_DIR}/error.$host.log
    CustomLog   ${APACHE_LOG_DIR}/access.$host.log combined

</VirtualHost>

這在網路外部存取時效果很好,並且所有子網域都解析到正確的目錄。

我遇到的問題是透過內部網路存取子網域。

我可以使用伺服器的IP位址存取Web伺服器:http://192.168.1.123/但這總是將我帶到同一個虛擬主機,我不知道如何區分不同的虛擬主機(不同的子網域)。

理想情況下,我想使用與附加到外部網域的子網域相同的http://<subdomain>/where來存取相同的子網域。<subdomain>

有任何想法嗎?

答案1

正如您所發現的,如果您使用伺服器的 IP 位址,您將被帶到清單中的第一個虛擬實例。

我只是將使用虛擬伺服器名稱的條目新增至本機主機檔案。

某些 xDSL 路由器(例如:Draytek 的)將允許您使用指向本機 LAN 上託管的網站的 URL - 這稱為 DNS 環回 - 因此另一個「修復」是更改路由器。對於企業來說,這可能是個可行的選擇,因為管理解決方案比更新所有本機主機檔案更容易。

答案2

確保主機名稱解析為預期的 IP 位址,並且 Apache 實際上正在偵聽該 IP。

相關內容