nginxでsatisfyを使って簡易アクセス制限

WEBサーバのApapcheでは、.htaccessなどにSatisfyを記述すると、簡易的なアクセス制限が可能なのは既知だと思います。

具体的には、私の場合、ここのブログは職場からのアクセスは拒否しています。
(職場内の共有PCで、自分のブログが開きっぱなしになるのが嫌なので ^^;)
しかし、昼休み等で職場からブログ投稿する場合もあるので、アクセス出来ないと困ります。
ですので、職場内の自分の固定IPからはアクセス許可、その他の職場からのIPは、アクセスは拒否しながら、 パスワード認証方式で許可する方式です。

ちょっと、分かりづらいと思うので、分かりやすく書くと、こんな感じ。

  • 職場内からの自分の固定IP         (許可)
  • 職場内のサブネット     (拒否)
  • 職場内でも認証        (許可)
  • 職場外からの接続       (許可)

上記のアクセス制限を、nginxで適用させるには、Apacheと似たようなsatisfyを利用します。
詳しくは、こちら

<pre>
location / {
……
…..中略
satisfy any;
allow xx.xx.xx.xx; # 職場内で許可する固定IP
deny xx.xx.xx.0/24; # 職場内のサブネットを拒否
allow all; # その他は許可
auth_basic “Please enter your ID and password”;
auth_basic_user_file htpasswd; # パスワード認証で合致すれば許可
…..
…..
}
</pre>

nginx.confもしくは、virtualhost内の設定ファイルのどちらかに記述すれば良いでしょう。

認証は、Basic認証で、Apacheのhtpasswdを併用できます。
htpasswdファイルを新規に作成するには、htpasswd -c にて作成です。

スポンサーリンク
336×280(テキスト&ディスプレイ広告)
スポンサーリンク
336×280(テキスト&ディスプレイ広告)
banner