私はvirtualhostを介してホストされている5つのWebサイトを持つ単一のDigital Oceanドロップレットを持っています。すべてが正常に動作します。それらのドメイン名は、それぞれを個別に指しています。 Ubuntu 14.04とApacheを使用する。
6番目の「テスト」サイトを追加したいのですが、ドメイン名が指していません。私はそれを使っていくつかのWordPressのものをテストしたいと思います。このサイトへのホームページの物理的な場所は次のとおりです。
/var/www/test_site/html/index.html
私のサーバーのIPアドレスが198.51.100.55だとしましょう
このホームページをインターネット上の誰もが次のように利用できるようにするには、何をする必要がありますか?
http://198.51.100.55/test_site/html/index.html
次の前他の仮想ホスト定義を構成ファイルに配置します。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName www.fakesite.com
DocumentRoot /var/www/test_site/html/
ErrorLog ${Apache_LOG_DIR}/error.log
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
次に、Apacheをリロードします。
概要:ドメイン名を使用しない限り、すべての人に機能させることはできません。ただし、198.51.100.55
を別のドメイン名であるかのように扱うと、少なくとも当面は、ほとんどのユーザーで機能します。
テストサイト用のドメインを作成することをお勧めします。可能なオプションには、新しいドメインの取得、既存のドメインの1つのサブドメインの使用、そのようなドメインのさまざまなプロバイダーの1つからの無料のサブドメインの使用が含まれます。
URL http://198.51.100.55/test_site/html/index.html
は、インターネット全体からアクセスできることはありません。
IPv4なしで展開されている新しいネットワークがあります。このようなネットワーク上のクライアントがIPv4にアクセスできるようにするために、DNS64やNAT64などのリソースのみの手法が使用されています。サーバーの名前がtest.example.com
の場合、そのようなクライアントの接続フローは次のように機能します。
test.example.com
のAAAAレコードを要求するクエリをISPのDNSリカーサに送信しますexample.com
のAAAAレコードのtest.example.com
を要求します。example.com
の権限のあるサーバーにtest.example.com
のAレコードを要求します。198.51.100.55
で応答します2001:db8:c481:4960:88df:da01::/96
と呼び、IPv4アドレスと呼びます。結果は2001:db8:c481:4960:88df:da01:198.51.100.55
AKA 2001:db8:c481:4960:88df:da01:c633:6437
です。test.example.com
のAAAAレコードが2001:db8:c481:4960:88df:da01:c633:6437
であるという応答をブラウザーに送信します。2001:db8:c481:4960:88df:da01:c633:6437
でNAT64にSYNパケットを送信します。しかし、ドメイン名ではなくIPアドレスを使用してこれを実行しようとすると、機能しなくなります。ブラウザは決してDNSリクエストを送信しないので、198.51.100.55
が2001:db8:c481:4960:88df:da01:c633:6437
に置き換えられることを知ることはありません。代わりに、ブラウザーは198.51.100.55
への接続を試みますが、ホストにはIPv4ルートがないため、カーネルはサーバーにアクセスできないことをブラウザーに通知します。
そのようなネットワーク上のユーザーが(他に何も壊さずに)サイトを利用できるようにする唯一の方法は、サイトのドメイン名を取得することです。
インターネットの大部分のみがサイトを利用できるようにすることに満足している場合は(時間の経過とともに小さくなります)、198.51.100.55
をさらに別のドメイン名として扱い、それに応じて仮想ホストを構成できます。
次のようになります。
<VirtualHost 198.51.100.55:80>
ServerName 198.51.100.55
ServerAdmin webmaster@localhost
DocumentRoot /var/www
ErrorLog ${Apache_LOG_DIR}/error.log
LogLevel warn
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>