🔑
Nginxでベーシック認証してみた
Nginxを使ってベーシック認証を設定する方法を解説します。
環境
- OS: AlmaLinux 9.4
- Nginx: 1.20.1
ベーシック認証とは
ベーシック認証は、Webサーバーで簡単に実装できるユーザー認証方式の一つです。
前提
- Nginxインストール済み
- Nginx起動済み(sudo systemctl start nginx)
手順
1. htpasswdコマンドを、使用できるようにする為のパッケージをインストール
Ubuntu/Debianの場合
sudo apt install apache2-utils
CentOS/RHELの場合
sudo yum install httpd-tools
2. .htpasswdファイル作成
-
今回パスの方を
/var/www/project_name/
にしていますが、プロジェクトの開発指針によって適宜変更してください。 -
user_name: ベーシック認証をする時のユーザー名
-
password: ベーシック認証をする時のパスワード
$ sudo htpasswd -c /var/www/project_name/.htpasswd [user_name]
New password: [password]
Re-type new password: [password]
Adding password for user user_name
3. Nginxの設定ファイルを編集
- Nginxの設定ファイルは通常は/etc/nginx/sites-available/default
または/etc/nginx/nginx.confにあります。
$ sudo vi /etc/nginx/conf.d/default.conf
...
location / {
auth_basic "Restricted Access"; # 認証ダイアログに表示されるメッセージ
auth_basic_user_file /etc/nginx/.htpasswd; # ユーザー情報ファイルのパス
}
...
4. Nginxの設定をテスト
- Nginxの設定ファイルにエラーが無いか確認します。
$ sudo nginx -t
5. Nginxを再起動
- 設定を反映させるためにNginxを再起動します。
$ sudo systemctl restart nginx
Discussion