NginxにBasic(ベーシック)認証を設定する方法

スポンサーリンク


NginxでBasic認証を設定する方法です。

Apacheとは設定方法が異なるのでメモしておきます。

今回は中国ではお馴染みの阿里云(アリクラウド)を使ってますが、基本Linuxでの操作はほぼ同じです。
OSの違いによるコマンドの違いは各自読み替えてください。

スポンサーリンク

実行環境

阿里云で試したので、OSはAliyun Linuxです。

バージョンはこちらのコマンドで確認

cat /etc/os-release

NAME=”Alibaba Cloud Linux (Aliyun Linux)”
VERSION=”2.1903 LTS (Hunting Beagle)”
ID=”alinux”
ID_LIKE=”rhel fedora centos anolis”
VERSION_ID=”2.1903″
PRETTY_NAME=”Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS (Hunting Beagle)”
ANSI_COLOR=”0;31″
HOME_URL=”https://www.aliyun.com/”

「.htpasswd」作成

「/etc/nginx/conf.d」ディレクトリ内にBasic認証用のユーザ「user1」として「.htpasswd」を作成します。

htpasswd -c /etc/nginx/conf.d/.htpasswd user1
パスワード入力を2回求められるので同じパスワードを入力します。

htpassedコマンドが認識しない場合はBasic認証のモジュールをインストールします。

yum install -y httpd-tools

nginx.confに設定追加

/etc/nginx/nginx.conf にBasic認証の設定を追加します。

location / {
root /usr/share/nginx/html;
index index.html index.htm;
auth_basic “Basic Authentication”;
auth_basic_user_file /etc/nginx/conf.d/.htpasswd;
}

Nginxを再起動

Nginxを再起動して設定を反映させます。

systemctl restart nginx