「CentOS Stream 9」nginxでBasic 認証の設定をする
環境
OSバージョンを確認します
# cat /etc/redhat-release
CentOS Stream release 9
nginx 1.20.1
特定のページにユーザ名とパスワードの入力を要求する Basic 認証の設定をします。
操作方法
1.httpd-toolsをインストールします
# dnf -y install httpd-tools
# dnf -y install httpd-tools
# dnf -y install httpd-tools
2.SSL/TLS を有効化します
# vi /etc/nginx/conf.d/ssl.conf
以下の内容を編集します
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.arkgame.com;
root /usr/share/nginx/html;
# サーバー名や証明書のパスは環境に置き換えます
ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers PROFILE=SYSTEM;
ssl_prefer_server_ciphers on;
include /etc/nginx/default.d/*.conf;
# Basic 認証の設定を追記します
location /auth-basic/ {
auth_basic "Basic Auth";
auth_basic_user_file "/etc/nginx/.htpasswd";
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name www.arkgame.com;
root /usr/share/nginx/html;
# サーバー名や証明書のパスは環境に置き換えます
ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers PROFILE=SYSTEM;
ssl_prefer_server_ciphers on;
include /etc/nginx/default.d/*.conf;
# Basic 認証の設定を追記します
location /auth-basic/ {
auth_basic "Basic Auth";
auth_basic_user_file "/etc/nginx/.htpasswd";
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name www.arkgame.com; root /usr/share/nginx/html; # サーバー名や証明書のパスは環境に置き換えます ssl_certificate "/etc/letsencrypt/live/www.arkgame.com/fullchain.pem"; ssl_certificate_key "/etc/letsencrypt/live/www.arkgame.com/privkey.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers PROFILE=SYSTEM; ssl_prefer_server_ciphers on; include /etc/nginx/default.d/*.conf; # Basic 認証の設定を追記します location /auth-basic/ { auth_basic "Basic Auth"; auth_basic_user_file "/etc/nginx/.htpasswd"; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
3.Basic認証用ユーザーを登録します
# htpasswd -c /etc/nginx/.htpasswd cftuser
New password: # パスワードを入力
Re-type new password: # パスワード確認
Adding password for user cftuser
# htpasswd -c /etc/nginx/.htpasswd cftuser
New password: # パスワードを入力
Re-type new password: # パスワード確認
Adding password for user cftuser
# htpasswd -c /etc/nginx/.htpasswd cftuser New password: # パスワードを入力 Re-type new password: # パスワード確認 Adding password for user cftuser