パスワードの作成はhtpasswdコマンドを使う。これはapache2のパッケージに含まれるのでapache2をインストールしてから実行する。
# aptitude install apache2-utils # htpasswd -nb username password > /etc/nginx/password
上記の例では、BASIC認証用のパスワードを/etc/nginx/passwordに作成している。このパスワードファイルを参照するようにするnginxの設定は、auth_basic_user_fileとなる。
location ^~ /wp-admin/ { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/password; access_log off; proxy_no_cache 1; proxy_cache_bypass 1; proxy_pass http://unix:/var/run/nginx.sock; }
これはWordPressの管理画面にアクセスする際にBASIC認証を一度挟む設定例だが(UNIXドメインソケット経由でPHPを動かしている場合の例)、このような設定をしておくことによって、WordPressのログイン画面を晒さずに済む。