.htpasswd
ファイルを作成して、
sudo apt install apache2-utils sudo htpasswd -c /etc/nginx/.htpasswd user
nginx.conf
で auth_basic
と auth_basi_user_file
を設定。
location / { auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; }
自分の場合、Basic 認証を超えた先に grafana のログイン画面を用意していたため、grafana の認証に対して Basic 認証の情報が渡って認証に失敗していた。
Basic 認証は Authorization ヘッダに認証情報を持たせているので、Basic 認証の先に Authtorization ヘッダを使うような認証がある場合、Basic 認証の認証情報がその認証に伝わってしまい、認証に失敗してしまうっぽかった。
下記のように proxy_set_header
で Authorization ヘッダの中身を空にすると対応できた。
proxy_set_header Authorization "";