新しいクラウド サーバーを入手したばかりで、セットアップ中にブラウザーでサーバーの IP アドレスを指定して Web ルートにアクセスできますが、ドメイン名がまだ伝播しているため、アクセスしても解決されません。
ブラウザでサーバーのIPアドレスを指定すると、実際には最初に設定したVirtualHostに解決されます。いけないルートフォルダになります。このVirtualHostは、IPアドレス/パス、 だけでなくIPアドレス。
サーバーのセットアップ:
ホスト:Rackspace クラウド サーバー
OS:セントOS6
仮想ホスト:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.wphax.com
ServerAlias wphax.com *.wphax.com
DocumentRoot /var/www/wphaxcom
ErrorLog /var/www/wphaxcom/error.log
CustomLog /var/www/wphaxcom/access.log combined
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.dnadvanced.com
ServerAlias dnadvanced.com *.dnadvanced.com
DocumentRoot /var/www/dnadvancedcom
ErrorLog /var/www/dnadvancedcom/error.log
CustomLog /var/www/dnadvancedcom/access.log combined
</VirtualHost>
この原因は何なのか、また、IP アドレスを入力してもルート ディレクトリにアクセスできないようにしながら、ドメイン名が指定されたフォルダーに正しく解決されるように設定するにはどうすればよいのか、ご存知の方はいらっしゃいますか? よろしくお願いします。
答え1
から名前ベースの仮想ホストのサポートApache サーバーのドキュメントの記事:
IP ベースの仮想ホストは、接続の IP アドレスを使用して、サービスを提供する正しい仮想ホストを決定します。 [...]
名前ベースの仮想ホスティングは通常、よりシンプルです。DNS サーバーを構成して各ホスト名を正しい IP アドレスにマップし、Apache HTTP サーバーを構成して異なるホスト名を認識するだけでよいからです。 [...]
IPアドレスを直接指定することで、は基本的には、構成ファイルにリストされている最初の仮想ホストを選択します。構成ファイルで IP アドレスを指定していないため、そのホストはすべての IP をリッスンします。Apache がどの Web サイトを提供するかを決定する方法は、クライアントのリクエストから HTTP ヘッダーで受信した情報によって決まります。
両方の仮想ホストに独立した IP アドレス経由でアクセスできない場合、または異なるポート番号 (つまり、2 番目のポートをポート 81 に設定) でアクセスできない場合は、ドメイン名の変更が反映されるまで待つ必要があります。
もし、あんたが本当にサーバーをテストする必要がある場合は、各リクエストの後にHTTPヘッダーを手動で変更してみてください(データの改ざんApache がブラウザに適切なページを提供するように、Firefox 用のアドオンをインストールします。