【NGINX】Basic認証の設定をする

NGINXでBasic認証の設定をするお話

公開前のサイトでは簡易的なアクセス制限としてBasic認証を設定するのが一般的だと思います。

IP制限をする場合もありますが稀ですかね。

WordPressだったら管理画面はIP制限したほうがいいと思いますが。

ということで基本的なBasic認証の設定を確認します。

スポンサーリンク

Basic認証

まずは.htpasswdにユーザを作成しておきます。

# htpasswd -c /path/.htpasswd buser
New password: 
Re-type new password: 

NGINXのconfに下記のように記述。

server {

    # msg 
    auth_basic "Basic Authentication";
    # path
    auth_basic_user_file /path/.htpasswd;

}

記述できたらNGINXの整合性をチェック。

# nginx  -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

エラーが出てたら修正、問題なければ再起動。

# systemctl reload nginx

これでサイトに接続すればBasic認証が起動します。

あとよくあるのが、部分的にBasic認証を除外したい場合。

例えば公開前でBasic認証しておきたいけどgoogleに登録したいから指定ファイルは除外で、みたいな感じ。

その場合は下記のようにlocationでファイルやディレクトリを指定してsatisfy anyallow allを設定してあげます。

location /googleXXXXXXXXXXXXXX.html {
    satisfy any;
    allow   all;
}

これでgoogleのbotがファイルに接続できるようになります。

除外するファイルやディレクトリが増えて記述が多くなるのが嫌な感じになる場合は、別ファイルで作成しておいてincludeするのもありだと思います。

コメント

タイトルとURLをコピーしました