zuntan02のはてなブログ

備忘録的なものです

nginxでのベーシック認証のかけかた

nginxでのベーシック認証のかけかた
参考:
qiita.com

.htpasswd ファイルの作成

ユーザ名とパスワードを追加。

(初回)htpasswd -c /etc/nginx/.htpasswd username
→2回目以降は-cを外さないと.htpasswdが上書きされるので注意
(2回目以降)htpasswd /etc/nginx/.htpasswd username

nginxの設定ファイルの追記

.htpasswd ファイルを読み込み、Basic 認証を適用。
/etc/nginx/nginx.conf

server {
    listen 80;
    root /usr/share/nginx/html;
    index index.html index.htm;

    auth_basic "Restricted";                   # 認証時に表示されるメッセージ
    auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswdファイルのパス
}
特定のIPにはBasic認証を行わない場合

【参考】
http://d.hatena.ne.jp/podhmo/20110311/1299817584

server {
    listen 80;
    root /usr/share/nginx/html;
    index index.html index.htm;

    # add Basic Auth
    satisfy any;
    allow 許可IP1;
    allow 許可IP2;
    deny all;

    auth_basic "Restricted";                   # 認証時に表示されるメッセージ
    auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswdファイルのパス
}

反映

service nginx configtest
service nginx reload