メニュー

1-8 サーバーIPアドレスとドメイン(ワイルドカード指定)の設定

リバースプロキシ込みでドメインを個別に設定する前に、サーバーIPアドレスとドメイン(ワイルドカード指定)の登録を行なう。
設定・編集はNginxのみ。

upstreamブロック(ブロックディレクティブ)の準備

Nginxのupstreamブロックはサーバーグループの定義。
/etc/nginx/conf.d内にupstreamを管理するconfファイルを作成する。

upstream hoge_server_ip {
  server <サーバーIP>;
}

今回は使わなかったけど、ローカルループアドレスや接続ポートを指定することも可能。

upstream hoge_apache_web_ip {
  server 127.0.0.1:8080;
}

upstreamで指定できないもの

upstreamは内部で参照するものなので、ドメイン名は使えない。例えば以下のようなものは読み込めない。

upstream damepo {
  server localhost:8080;
}

upstream exdamepo {
  server example.com;
}

サーバーIPアドレスの設定

ドメインを登録して使うので、サーバーIPアドレスは使用しない方針。
※サーバーIPアドレスからアクセスするユーザーはスキャンアクセスやbotなど、大概想定したユーザーではないと思う。

ただし検索エンジンがドメイン名ではなくIPアドレスで検索結果に載せてしまった場合には、301リダイレクトをかけるために有効にする…というケースはあり得る。(事象のみ過去に実例あり)

/etc/nginx/conf.d内に設定ファイルを作成する。

server {

  listen 80 default_server;
  listen [::]:80 default_server;
  server_name hoge_server_ip;

  # block
  return 444;

}

listenディレクティブには「default_server」を指定する。※指定しておかないと他の設定が有効になるかも。Nginxの設定による。
server_nameディレクティブにはupstreamブロックで登録したhoge_server_ipを指定する。

「return 444;」はNginx独自のエラー。Nginx固有の設定で、コネクションをクローズしてくれる。
ステータスコードで444を返すわけではないので注意。

ドメイン(ワイルドカード指定)の設定

DNSレコードをサーバーに向けたとき、ドメイン個別でNginxの設定をしていないときに表示されるページを設定する。

/etc/nginx/conf.d内に設定ファイルを作成する。

server {

  # domain
  server_name *.example.com;

  location / {
    root /home/hogehoge-user/public_html/default_page/;
  }

}

(まだ試していないけれど)server_nameは半角区切りで複数指定可能。

server_name *.example.com *.dp-w.net;