Skip to content

NginxでBASIC認証

NginxでBASIC認証とIP制限

IP制限

例えばWordpressの管理画面側でIP制限をかける場合。

location ~* /wp-login\.php|/wp-admin/((?!admin-ajax\.php).)*$ {
    #allow 127.0.0.1;
    include /etc/nginx/conf.d/include/*_allow.conf;
    deny all;

IP許可以外をBASIC認証としたい場合

location ~* /wp-login\.php|/wp-admin/((?!admin-ajax\.php).)*$ {
    satisfy any;
    allow 127.0.0.1;
    include /etc/nginx/conf.d/include/*_allow.conf;
    deny all;
    auth_basic  "basic authentication";
    auth_basic_user_file /etc/nginx/.htpasswd;

BASIC認証のIDパスを発行

Nginxしか入れてない場合htpasswdコマンドが居ないので、そんな時はopensslで発行。

echo "ユーザー:$(openssl passwd -apr1 パスワード)" > /etc/nginx/.htpasswd