Debian 13 trixie

Nginx : Basic 認証 + PAM2025/09/12

 

Basic 認証の際に、OS のユーザーで認証できるよう設定します。

[1]

Basic 認証の際のパスワードは平文で送信されるため、事前に SSL/TLS の設定を実施しておきます

[2] [mod-http-auth-pam] モジュールが含まれるパッケージをインストールします。
root@www:~#
apt -y install nginx-extras
[3] Basic 認証 + PAM の設定です。
例として、デフォルトサイトの [/var/www/html/auth-pam] 配下は認証を要求するよう設定します。
root@www:~#
vi /etc/nginx/sites-available/default
# 設定対象の [server] セクション内に追記

server {
.....
.....
       location /auth-pam {
           auth_pam "PAM Authentication";
           auth_pam_service_name "nginx";
       }
.....
.....

root@www:~#
vi /etc/pam.d/nginx
# 新規作成

auth       include      common-auth
account    include      common-account

# nginx が shadow を read できるようグループに追加

root@www:~#
usermod -aG shadow www-data

root@www:~#
systemctl reload nginx

# テストページ作成

root@www:~#
mkdir /var/www/html/auth-pam

root@www:~#
vi /var/www/html/auth-pam/index.html
<html>
<body>
<h1 style="width: 100%; font-size: 40px; text-align: center;">
Test Page for PAM Auth
</h1>
</body>
</html>
[4] 任意のクライアントコンピューターで Web ブラウザーを起動し、作成したテストページにアクセスします。すると設定通り認証を求められるので、OS のユーザーで認証します。
[5] 正常に認証が成功して、テストページが表示されれば OK です。
関連コンテンツ