読者です 読者をやめる 読者になる 読者になる

プログラミングとかLinuxとかの備忘録

プログラミング、Linuxでハマった箇所や環境構築のメモ

NginxでBasic認証を使う

Linux CentOS Nginx

実行環境は
CentOS7 64bit

htpasswdのインストール

$ sudo yum -y install httpd-tools

Basic認証用の認証情報の設定

/etc/nginx/.htpasswdBasic認証用ファイルを作成する

$ cd /etc/nginx
$ sudo htpasswd -cm .htpasswd ${USER}
New password: ${PASSWORD}
Re-type new password: ${PASSWORD}
Adding password for user ${USER}

nginxでBasic認証を有効化

$ sudo vi /etc/nginx/conf.d/default.conf

Basic認証を適用したいlocationにauth_basicauth_basic_user_fileを追加

  • location /とし、Basic認証を使用するディレクトリを指定
  • auth_basicパスワード入力ダイアログに表示するメッセージを記述
  • auth_basic_user_fileには上で作成したBasic認証用ファイルを指定
location / {
    root   /var/www/html;
    index  index.html index.htm;
    auth_basic "input password";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

※locationを/以外にする場合でもrootindexは記述する必要がある