[Nginx][WordPress] Nginx で WordPress の管理画面に BASIC 認証をかける ( ただし admin-ajax.php にはかけない )

location ~* /wp-login\.php|/wp-admin/((?!(admin-ajax\.php|css/|js/)).)*$ {
index index.php index.html index.htm;
# Basic認証のメッセージ
auth_basic "Please enter your ID and password";
# .htpasswd ファイルのパス
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
location ~ .*\.php$ {
try_files $uri =404;
proxy_pass http://backend;
}
}

view raw
gistfile1.txt
hosted with ❤ by GitHub

proxy_pass 使用してるんで、これはリバプロ側の設定です。
バックエンド側とか、そもそもリバプロ建てないって時は if ($request_filename ~ .*\.php) { } の中をよしなに変更してください。