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 anyとallow allを設定してあげます。
location /googleXXXXXXXXXXXXXX.html { satisfy any; allow all; }
これでgoogleのbotがファイルに接続できるようになります。
除外するファイルやディレクトリが増えて記述が多くなるのが嫌な感じになる場合は、別ファイルで作成しておいてincludeするのもありだと思います。
コメント