環境
- CentOS7
- Nginx
Basic 認証とは
任意のURLにアクセスした時、
簡易的にユーザー名とパスワードを求める方法。
apache (webサーバー) を使用しているレンタルサーバーなどでは、
.htaccess ファイルと .htpasswd ファイルを使って
Basic 認証をかけたりしていると思う。
Nginx では .htaccess は使えない。
なので .htaccess が設置してあっても読み込まない。
Nginx の conf ファイルと .htpasswd ファイルを使って、
Basic 認証をかけてみる。
.htpasswd ファイルの作成
- 設置する場所はどこでもいい。今回は /path/to/your/project に設置する
- パスワード生成
$ cd /path/to/your/project
$ vi .htpasswd
# ユーザー: test パスワード: test に設定
test:ay3T3miIsxmzI
xxx.conf
$ cd /etc/nginx/conf.d/
$ vi xxx.conf
server {
listen 80;
server_name sample.com;
root /path/to/your/project/public;
index index.html index.htm;
# Basic 認証の設定
# 先ほど生成した .htpasswd ファイルを指定する
auth_basic "Restricted";
auth_basic_user_file /path/to/your/project/.htpasswd;
}
# syntaxチェック
$ nginx -t
# 再起動
$ systemctl restart nginx.service