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>/使用して、同じサブドメインにアクセスしたいと思います。<subdomain>

何か案は?

答え1

ご存知のとおり、サーバーの IP アドレスを使用すると、リストの最初の仮想インスタンスに移動します。

仮想サーバー名を使用するエントリをローカル ホスト ファイルに追加するだけです。

一部の xDSL ルーター (例: Draytek 製) では、ローカル LAN でホストされているサイトを参照する URL を使用できます (これは DNS ループバックと呼ばれます)。そのため、別の「修正」方法としてはルーターを変更することです。これは、すべてのローカル ホスト ファイルを更新するよりも管理が簡単なソリューションであるため、たとえばビジネスでは実行可能な選択肢となります。

答え2

ホスト名が期待される IP アドレスに解決され、Apache が実際にその IP をリッスンしていることを確認します。

関連情報