NginxでBasic認証を行う時のまとめ
【概要】NginxでBasic認証を行う時のまとめです。プロジェクト全体にBasic認証を行う方法や指定した対象にかける方法など、様々な方法についてまとめているので参考にしてみて下さい。【詳細】0. 前提前提として「/etc/nginx/conf.d/domain名.conf」ファイルを編集する事を想定します。1. プロジェクト全体にBasic認証をかけるlocation / {auth_basic "Restricted";auth_basic_user_file /etc/nginx/.htpasswd;......}2. 指定したディレクトリ配下にBasic認証をかける※ 下記はroot直下にある、jsonディレクトリに対してBasic認証をかける事を想定していますlocation /json/ {auth_basic "Restricted";auth_basic_user_file /etc/nginx/.htpasswd;......}3. 完全一致のパスに対してBasic認証をかける※ 下記は「/json/index.json」のファイルに対してBasic認証をかける事を想定していますlocation /json/index.json {auth_basic "Restricted";auth_basic_user_file /etc/nginx/.htpasswd;......}4. 正規表現を使用した方法まとめi. 完全一致ii. ^~ 前方一致iii. ~ 正規表現(大文字と小文字が区別されます)iv. ~* 正規表現2(大文字と小文字が区別されません。修飾子「i」をつけたときの状態)5. 指定の優先順位Basic認証で指定した際の優先順位は下記になる。完全一致() > 前方一致(^~) > 正規表現(~) > 正規表現2(~*) > 指定なしよって、下記のように指定が重複した際には、前方一致の方が優先され、指定なし(location /json)の方は反映されない。location /json {# 指定なしでの特定の処理}# jsonディレクトリを指定した場合は下記が優先される。location ^~ /json {# 前方一致した際の特定の処理}