🔐

BASIC認証設定方法(nginx)

2024/10/26に公開

BASIC認証とは開発中のページにロックを掛けるときなんかに使う、上記のような小窓のことだ。
BASIC認証はnginxなどのWebサーバーソフトに設定できる機能だ。今回はnginxでの設定方法を解説する。

nginxのことがよくわからないきみは下記のnginxの記事を先に読んでおくことをおすすめする。
https://zenn.dev/texia/articles/c26a9b086c2d38

やり方は、まず、.htpasswdというファイルを作成する。
オンラインで作成できるサービスがあったり、
コマンドで作成できる。
作成するときに、ユーザー名と、パスワードを設定する。

そうして、ユーザー名と、パスワードが設定された、.htpasswdが作成される。
そのファイルを、Webサーバー(今回はnginx)からアクセス可能な範囲内のディレクトリに設置する。

例えば、

/etc/nginx/.htpasswd

のような感じだ。

ドメインごとに複数の設定が必要な場合はファイル名を変えたり、ディレクトリを分けたりして設置すれば良い。

/etc/nginx/auth/.htpasswd-admin    # 管理者用
/etc/nginx/auth/.htpasswd-user     # 一般ユーザー用
/etc/nginx/auth/.htpasswd-api      # API用

次に、nginxのサーバーブロックの、BASIC認証を作動させたいポイントに下記を記述する。

#ベーシック認証に表示させるメッセージ(最近はブラウザでは表示されないことが多いが、curlコマンドでアクセスした場合は表示される)
auth_basic "Restricted Access";
#先ほど設置した.htpasswdのフルパス
auth_basic_user_file "/etc/nginx.htpasswd";

上記を記述すれば、完了だ。
ブラウザでアクセスしてみて、冒頭の小窓がでれば成功だ。
あとは.htpasswdファイルに設定したユーザー名とパスワードを入力したら、認証できる。
see you next time!

テクシア テックブログ

Discussion