example.com
ドメイン名と固定IPアドレスを使用するVPSがあります123.123.123.123
。
ウェブサイトのコンテンツにアクセスするために、ブラウザはドメイン名を提供したいと思います。
実際、私はブラウザのURLバーに自分のサイトをexemple.com
表示した場合にのみ人々が自分のサイトを見ることができるようにしたいと思います。123.123.123.123
だから私の/var/www/
ディレクトリ内に2つのサブディレクトリを作成しました。
/var/www/default
(DNを提供していない人が見ることができるもの)と/var/www/exemple
実際のウェブサイトのコンテンツ。ファイルをこのように編集しました
。/etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
DocumentRoot /var/www/default
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/exemple
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
私の考えにはこれが効果があるようです。実際にブラウザのURLバーに と/var/www/default
を入れると、サーバーは私にコンテンツを提供します。なぜ?123.123.123.123
exemple.com
答え1
Apacheはトラフィックを次に転送します。最初VirtualHost
構成に示されているものと一致します。最初に定義されたエントリは存在しないか定義されていないため、ServerName
バインドServerAlias
されたホスト名またはバインドされたIPアドレスに対してポート80のすべてのトラフィックをキャプチャするように設定されます。
答え2
example.com専用のVirtualHostの名前を忘れました。私の修正(およびいくつかの追加提案)は次のとおりです。
<VirtualHost *:80>
DocumentRoot /var/www/default
</VirtualHost>
<VirtualHost 123.123.123.123:80> # <= Should fix your issue
ServerName example.com
ServerAlias www.example.com # <= Suggested modification
ServerAdmin webmaster@localhost
DocumentRoot /var/www/exemple
ErrorLog ${APACHE_LOG_DIR}/error-example.log # <= Suggested modification
CustomLog ${APACHE_LOG_DIR}/access-example.log combined # <= Suggested modification
</VirtualHost>
もちろん、Apacheを再ロードすることを忘れないでください。