基本的な設定
エラーページの設定部分のみ抽出すると以下のような書き方がスタンダードのようです。
上記の設定に対応するディレクトリ構造はこんな感じにします。
ちなみにnginxでよく嵌るのが、上記のerrorディレクトリとlocation /error/
の関係でしょうか。
location
の後ろにディレクトリ指定したら(この場合error)、同じ名前のディレクトリがrootで指定しているパスの直下に無いとだめですね(毎回忘れる・・)。
allow all について
先ほどの設定でallow all
を付けていました。これはアクセス制限(IP制限等)をかけた場合の処置です。
例えば
のようにIP制限をかけた場合、該当するIP以外の人がアクセスした場合403が出ます。
しかしこの時にallow all
がないとカスタマイズした403ページが出ず(アクセス制限しているので)、nginxのデフォルトの403が出てしまうのですね。
ですので、それが嫌だという人はallow all
でもって、自身のカスタマイズした403ページを見せてあげる、という意図です。