接続元IPで遮断

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毎に設定しているログファイルに出力されていた。これでやりたいことができそうだ。

以上。

■ 関連

アクセス制限

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください