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/”
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;
}
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