web-dev-qa-db-ja.com

LAN上のApache仮想ホスト

linuxボックスに3つのドメインを指定しています。Apache2仮想ホストは、LANの外部にアクセスしたときに各ドメインが適切なWebページを読み込むように設定されています。

私の問題は、LANからページを表示しようとしていることです。

ボックスのlan ipに行くと、/ var/www/html /の内容を取得します

lAN経由で/ var/www /(site-name-here)にある他の3つのドメインを表示するにはどうすればよいですか?

4
helmet648

仮想ホストファイルがIPアドレスではなくドメイン名を使用するように設定されている場合、IPアドレスを使用してサイトにアクセスしようとしています。そのため、デフォルトフォルダー(この場合は/var/www/html/)がスローされます。

修正1.ローカル仮想ホストファイル

この問題を修正する最も一般的で簡単な方法は、 Windows内でホストファイルを編集する またはMacです。これにより、外部と同じようにドメイン名を使用して、すべてのサイトにローカルにアクセスできます...

ホストファイル は次のようになります。

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#
192.168.1.1 exampleA.com
192.168.1.1 exampleB.com
192.168.1.1 exampleC.com

修正2.仮想IPアドレス

3つのサイトがあり、内部LAN IPを介してこれらすべてのサイトにアクセスできるようにしようとすると、IPアドレスが1つしかない場合にどのサイトに戻るかをApache2に伝える方法についての大きな問題に直面します。

解決策は、*を使用するのではなく、 仮想IPアドレス を使用して、仮想ホストに仮想IPアドレスを割り当てることです。

このようなもの:

# Site A
<VirtualHost 100.100.100.1>
    ServerName www.example-1.com
    DocumentRoot /var/www/exampleA
</VirtualHost>

# Site A
<VirtualHost 100.100.100.2>
    ServerName www.example-2.com
    DocumentRoot /var/www/exampleB
</VirtualHost>

# Site C
<VirtualHost 100.100.100.3>
    ServerName www.example-3.com
    DocumentRoot /var/www/exampleC
</VirtualHost>

上記を使用すると、仮想IPアドレスを使用してサイトにアクセスできます。

修正3.フォルダーをマップする

フォルダをエイリアスとしてマップ すると、誰かがhttp://100.100.100.1/exampleAにアクセスしたときにサイトAを取得したり、/exampleBにアクセスしたときにサイトBを取得したりできます。

このようなもの:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    Alias /ExampleA /var/www/exampleA
    Alias /exampleB /var/www/exampleB

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
     </Directory>
</VirtualHost>
3
Simon Hayter