web-dev-qa-db-ja.com

複数の仮想ホストを持つサーバー上のIPアドレスを介してドメイン名なしでサイトにアクセスする

私は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
1

次の他の仮想ホスト定義を構成ファイルに配置します。

<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をリロードします。

1
bao7uo

概要:ドメイン名を使用しない限り、すべての人に機能させることはできません。ただし、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リカーサに送信します
  • ISPのDNSリカーサーは、権限のあるサーバーにexample.comのAAAAレコードのtest.example.comを要求します。
  • 権威サーバーは、そのようなレコードが存在しないことを返信します。
  • ISPのDNSリカーサーはDNS64にフォールバックし、example.comの権限のあるサーバーにtest.example.comのAレコードを要求します。
  • 権威サーバーは198.51.100.55で応答します
  • DNSリカーサーは、ISPのNAT64ゲートウェイの1つのプレフィックスを連結します(これを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です。
  • DNSリカーサーは、test.example.comのAAAAレコードが2001:db8:c481:4960:88df:da01:c633:6437であるという応答をブラウザーに送信します。
  • ブラウザは2001:db8:c481:4960:88df:da01:c633:6437でNAT64にSYNパケットを送信します。
  • NAT64は、宛先IPアドレスの最初の96ビットを取り除き、独自のIPv4アドレスを送信元として置き換えることにより、SYNパケットをIPv6からIPv4に変換します。
  • 通信は、NAT64がTCP接続のすべてのパケットを変換して続行されます。

しかし、ドメイン名ではなくIPアドレスを使用してこれを実行しようとすると、機能しなくなります。ブラウザは決してDNSリクエストを送信しないので、198.51.100.552001: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>
1
kasperd