【nginx】認証
Basic 認証
server ディレクティブのコンテキストで指定するとバーチャルサーバ単位で設定可能
http ディレクティブのコンテキストでは nginx 単位でユーザ認証を実施できるようになる
auth_basic ディレクティブを off に指定すると、Basic 認証方式のアクセス制限を無効にする
サンプル
code:conf
location / {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/passwd;
}
バーチャルサーバ単位でユーザ認証を有効にしつつ、特定のディレクトリだけユーザ認証を行わないようにする
code:conf
server {
...
auth_basic "closed website";
auth_basic_user_file /etc/nginx/passwd;
location /public/ {
auth_basic off;
}
}
サードパーティの認証情報利用
http_auth_request_module
code:nginx
location /private/ {
auth_request /auth;
auth_request_set $auth_status $upstream_status;
}
location = /auth {
internal;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}