FreeBSD 14
Sponsored Link

Nginx : Basic 認証の設定2024/02/13

 
ある特定のページにユーザー名とパスワードの入力を要求する Basic 認証の設定をします。
[1]
Basic 認証の際のパスワードは平文で送信されるため、事前に SSL/TLS の設定を実施しておきます
[2] 設定したい対象のサイト定義内に、Basic 認証の設定を追記します。
例として、デフォルトサイトの [/auth-basic] 配下は認証を要求するよう設定します。
root@www:~ #
pkg install -y py39-htpasswd
root@www:~ #
vi /usr/local/etc/nginx/nginx.conf
# [server] セクション内に追記

    server {
        .....
        .....
        location /auth-basic {
              auth_basic            "Basic Auth";
              auth_basic_user_file  "/usr/local/etc/nginx/.htpasswd";
        }

root@www:~ #
mkdir /usr/local/www/nginx/auth-basic

root@www:~ #
service nginx reload

# Basic 認証用のユーザー追加
# [-c] は初回実行時のみ付加

root@www:~ #
htpasswd.py -c -b /usr/local/etc/nginx/.htpasswd freebsd password

root@www:~ #
chmod 600 /usr/local/etc/nginx/.htpasswd

root@www:~ #
chown www /usr/local/etc/nginx/.htpasswd
# テストページ作成

root@www:~ #
vi /usr/local/www/nginx/auth-basic/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Test Page for Basic Authentication
</div>
</body>
</html>
[3] Basic 認証を設定したディレクトリ配下にアクセスして動作確認します。設定通り認証を求められれば OK です。
[4] 認証が成功し、ページが表示されれば OK です。
関連コンテンツ