Nginxでは、当然ながら、仮想ホスト(Virtual Host)を設定できます。
これは、非常に便利な機能で、1つのIPアドレスに複数のウェブサイトを構築できる仕組みですが、
例えば、仮想ホスト(Virtual Host)として登録していないホスト名でアクセスされた場合の動作をどうするか?
案外、設定されていないようです。
今回は、その設定例を簡単に解説してみます。
| レンタルサーバー・自宅サーバー設定・構築のヒント |
Nginxでは、当然ながら、仮想ホスト(Virtual Host)を設定できます。
これは、非常に便利な機能で、1つのIPアドレスに複数のウェブサイトを構築できる仕組みですが、
例えば、仮想ホスト(Virtual Host)として登録していないホスト名でアクセスされた場合の動作をどうするか?
案外、設定されていないようです。
今回は、その設定例を簡単に解説してみます。
2015年3月15日 初版
Nginxで仮想ホストを設定するのは、単純に serverディレクティブで、それぞれの仮想ホストを設定すれば良いです。
以下は、www.example.com と www.example.org のそれぞれの仮想ホスト(Virtual Host)の設定例です。
|
細かい設定は省略していますが、非常に単純ですね。
このように www.example.com と www.example.org の2つの仮想ホスト(Virtual Host)が設定されたとしましょう。
この場合、例えば、ウェブブラウザから http://IPアドレス でアクセスされたら、さて、どのようなページが表示されるでしょう?
ここでの例では、デフォルトサーバー(default_server ディレクティブ)の設定がないので、最初に登録された仮想ホストが、デフォルトサーバーとなります。
つまり、www.example.com がデフォルトサーバーとなるわけです。
結果、先の http://IPアドレス でアクセスされた場合、www.example.com の設定に従い、ページを表示しようとします。
www.example.com が、単純はhtmlファイルによるサイト構成となっているなら、おそらく、www.example.com のルートディレクトリにある index.html が表示されることになるでしょう。
このような動作で問題が無いのであれば良いですが、大方は、できれば、変なホスト名でアクセスされたら無視するなり、特別なページへ飛ばすなり動作を定義したいのではないかと思います。
以降では、このような仮想ホストとして登録されていないホスト名でアクセスされた場合のデフォルト動作をどうすべきかを含めて設定例を挙げて、簡単に解説してみます。
変なアクセスに対して、非常に簡単な対応および動作として、接続をリセットしてしまう方法があります。
本来、そのような登録のないホスト名でアクセスされたら、無駄にページを表示させてもリソースを消費しますので、拒否してしまうのが1番かもしれません。
|
上記の例では、デフォルトサーバー(default_server ディレクティブ)では、サーバー名(server_name ディレクティブ) に “_” を指定しています。
これは、無条件に、return 444; と指定しており、
他の設定のどのサーバ名とも一致しないサーバー名でアクセスされた場合、
Nginxでは、ロギング情報に HTMLステータスコードとして 444 (Nginx固有コード) を出力し、接続がリセットされます。
以下は、ForeFoxでIPアドレス指定で、上記の設定を行ったサーバーへアクセスした場合の表示イメージです。
また、この時のアクセスログには、以下のように出力されます。
|
|
次に、ある1つのページへ全て飛ばしてしまう方法です。
登録のないホスト名でアクセスされたら、「そんなホストはありませんよ・・・」というようなページを作成して、そのページへリダイレクトしてしまうのも一つの方法だと思います。
|
単純ですが、全てのページを /var/www/html/default/nohost.html へリダイレクトしています。 もちろん、www.example.com と www.example.org へのアクセスは、それぞれの設定に従います。
|
(amazon ) |
インフラエンジニア教本2――システム管理・構築技術解説 (SoftwareDesign別冊)に寄稿しました。
「ログを読む技術」の再掲載になります。
8月号を見逃された方は、是非、ご一読くださいませ。 |
(amazon ) |
Software Design 8月号に寄稿しました。
「ログを読む技術」について寄稿しました。
興味のある方は、是非、ご一読くださいませ。 |
また、執筆 や 当サイトにおける広告 のご依頼などございましたら、お問い合わせページより ご一報ください。 |
Copyright © 2009 - 2024 レンタルサーバー・自宅サーバー設定・構築のヒント
コメントを投稿 :