nginxに簡易ID,パスワード入力(Basic認証)をつける

● nginxに簡易ID,パスワード入力(Basic認証)をつける

nginxのコンフィグファイルに次のように記述します。

    location / {
       auth_basic "please enter id,pass";                   # 認証時に表示されるメッセージ
       auth_basic_user_file /home/YOUR-PATH/.htpasswd; # .htpasswdファイルのパス
    }

● KUSANAGI 9 の nginx設定ファイルはこちらにあります

cd /etc/opt/kusanagi/nginx/conf.d/

● nginxをリスタートします

nginx -s reload

● location / { の記述が複数ある場合

location / { の記述が複数ある場合 はそれぞれに設定するか、それより上の server { に設定します。

それぞれに設定する

    location / {
       auth_basic "please enter id,pass";                   # 認証時に表示されるメッセージ
       auth_basic_user_file /home/YOUR-PATH/.htpasswd; # .htpasswdファイルのパス
    }

    location /my_app/ {
       auth_basic "please enter id,pass";                   # 認証時に表示されるメッセージ
       auth_basic_user_file /home/YOUR-PATH/.htpasswd; # .htpasswdファイルのパス
    }

server 全体に設定する

    server {
       auth_basic "please enter id,pass";                   # 認証時に表示されるメッセージ
       auth_basic_user_file /home/YOUR-PATH/.htpasswd; # .htpasswdファイルのパス
    }

● KUSANAGI9 の nginx設定ファイル場所

/etc/opt/kusanagi/nginx/conf.d

● トップページをリダイレクトしつつBasic認証

server {
    # 既存の設定...
    
    # トップページを本番サイトにリダイレクト
    location = / {
        return 301 https://本番サイトのドメイン/;
    }
    
    # Basic認証を他のすべてのページに適用
    location / {
        auth_basic "Restricted Area";
        auth_basic_user_file /etc/nginx/.htpasswd;
        # 残りの設定...
    }
}
No.1536
03/25 17:48

edit