こんにちは、鯨井貴博@opensourcetechです。
今回は、NginxのAuth Basicモジュール(ベーシック認証)についてです。
Nginxのベーシック認証では、
Apacheのベーシック認証ファイルがそのまま利用出来ます。
なので、htpasswdコマンドを利用して認証用ファイルを作成します。
続いてベーシック認証用のアクセスディレクトリ&ドキュメントファイルの作成。
Nginxの設定では、
/etc/nginx/conf.d/default.confのserverディレクティブに以下を追加します。
location /secret {
root /usr/share/nginx/html;
index index.html
auth_basic "Please enter your username and password."; ←認証時の出力メッセージ
auth_basic_user_file /usr/share/nginx/html/.htpasswd; ←認証用ファイル
allow 192.168.1.0/24; ←アクセス許可対象
deny all; ←アクセス拒否対象
satisfy all; ←ネットワーク制限&ユーザー認証の両方で制限をかける
}
設定を反映する為にNginxの再起動。
systemdなので、
systemctl restart nginx.service
systemctl status nginx.service
クライアントのWebブラウザからアクセスすると、
認証用のポップアップが表示され、
認証情報が合っていれば、
secretディレクトリにアクセスが出来ます!
nginxが試験範囲に含まれているLPICレベル2を勉強されている方は、
こちらもどうぞ!