nginxで表題を行いたいのだが、改めてドキュメントを確認したところ、知らなかったのでメモ。
■ 環境
- nginx 1.12.1
■ deny
`deny`を入れる時はいつも下記のようにしていた。
location / {
deny XXX.XXX.XXX.XXX;
allow all;
}
上記のように”location”ディレクティブに書いていた。nginxで複数のFQDNを使用していて、全てのFQDNで共通の”deny“を指定したく、また各FQDN毎のログファイルに”403“のログを記載したいなと思い改めてドキュメントを確認してみた。
Module ngx_http_access_module
http://nginx.org/en/docs/http/ngx_http_access_module.html
“Directives“に”http“が記載されているではないか。動きを確認する。
各”server“ディレクティブは個別のファイルに記載し、”http“ディレクティブでは”include“しているので、念のため”include“前に”deny“を記載してみた。
http {
:
deny XXX.XXX.XXX.XXX;
include conf.d/*.conf;
}
設定を適用させブラウザでアクセスしたところ、想定通り”403“が返ってきた。これは問題ない。ではこの”403“のログがどこに出力されているか?を確認したところ、FQDN毎に設定しているログファイルに出力されていた。これでやりたいことができそうだ。
以上。