IPアドレスを直接入力してアクセスしてきた場合や、想定外のホスト名でアクセスしてきた場合に、常にcustom_404.htmlを表示したければ、nginxのconfファイルを以下のように設定します。
1 2 3 4 5 6 7 8 9 10 |
server{ listen 80 default_server; location / { return 404; } location = /404.html { internal; } error_page 404 /404.html; } |
http://nginx.org/en/docs/http/request_processing.html
ここで重要なことは、
- 「listen」で「default_server」を指定すること
- 「server_name」ディレクティブを記入しない、もしくは「_」に設定すること
※「_」にすると、以下のようになります。
1 2 3 4 5 |
server{ ~省略~ server_name _; ~省略~ } |
IPアドレスでの直接アクセスを除外したい場合はこの設定を入れておきましょう!