Basic auth with NGINX

htpasswd コマンドを利用するため、下記のPackageをインストール。

Debian(Ubuntu) 系

$ sudo apt-get install apache2-utils

ユーザ名とパスワードを追加。

$ sudo htpasswd -c /etc/nginx/.htpasswd username
New password: password
Re-type new password: password
Adding password for user username

nginxの設定ファイルの追記

.htpasswd ファイルを読み込み、Basic 認証を適用。

$vim /etc/nginx/nginx.conf
…
server {
    listen 80;
    root /usr/share/nginx/html;
    index index.html index.htm;

    location / {
      auth_basic "Restricted";     # 認証時に表示されるメッセージ
      auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswdファイルのパス
    }
}
…

再起動

sudo systemctl restart nginx