2017年10月2日月曜日

nginx の location に対してベーシック認証をかける

概要

nginx にベーシック認証をかけてみました
指定した location のパスにアクセスした場合にベーシック認証が発動するようにしてみます

環境

  • Ubuntu 16.04
  • nginx 1.10.3

パスワードファイル生成

  • echo "username:$(openssl passwd -apr1 password)" > /etc/nginx/basic_auth_password
  • chmod 400 /etc/nginx/basic_auth_password

username と password の部分がベーシック認証に使われる ID/PW です

設定ファイル変更

  • vim /etc/nginx/sites-available/ssl
location /hoge {
    auth_basic "closed site";
    auth_basic_user_file /etc/nginx/basic_auth_password;
    proxy_pass http://localhost:4567/optin;
    proxy_redirect default;
}

location の部分だけ抜粋しています
auth_basic と auth_basic_user_file を追記すれば基本的には OK です

再起動

  • systemctl restart nginx

これでベーシック認証が location の部分にだけ発生するようになっていると思います

最後に

nginx の location にベーシック認証をかけてみました
server ディレクティブにも設定できるのでパスではなくサイト全体でかけることもできます

0 件のコメント:

コメントを投稿