Nginx は直接 Basic 認証を有効にすることができます。Basic_Auth ログインを有効にすると、クライアントはリクエストヘッダに Basic_Auth の内容を追加する必要があります。
nginx の設定ファイルの server セクションに以下を追加します。
server {
#......
auth_basic "XXXX"; #ログインプロンプト
auth_basic_user_file conf/htpasswd; #パスワードファイルのパス
#......
}
Basic 認証のパスワードを生成する 2 つの方法があります。openssl を使用する方法と htpasswd を使用する方法です。
openssl を使用する方法:
printf "username:$(openssl passwd -crypt 123456)\\n" >> conf/htpasswd
htpasswd を使用する方法:
#作成
htpasswd -c -d conf/htpasswd username
#変更
htpasswd -b -d conf/htpasswd username passwd