さくらVPSにnginxをインストールしBasic認証設定を行ったので、まとめておく。
これまで、nginxを仕事などで使うことはあったが、自分で設定を行ったりしたことはなかった。
そこで、さくらVPSにnginxをインストールしていろいろ試してみることにした。
今回は、インストールのついでにBasic認証の設定も行ったので、その方法もまとめておく。
さくらVPS上にはCentOS7が入っているので、yumを使ってnginxをインストールし、起動しておく。
$ sudo yum install -y nginx $ sudo systemctl start nginx
デフォルトだと80番ポートが開放されていないので、firewallの設定を変更してhttpでアクセスできるように設定を変更する。
$ sudo firewall-cmd —add-service=http —zone=public —permanent $ sudo firewall-cmd —reload
これでインストールは完了した。
ブラウザからサーバーのIPアドレスやドメインにアクセスしてnginxの画面が表示されることを確認する。
次にBasic認証設定を行う。
Basic認証にはパスワードを設定する必要があり方法がいくつかあるのだが、今回はツールを使うことにした。
$ sudo yum install -y httpd-tools $ sudo htpasswd -c /etc/nginx/.htpasswd user # パスワードの入力を求められるので設定する
これで認証用のファイルが作成されたので、nginxの設定を変更する。
今回は全てのページへのアクセスにBasic認証を要求したいので、server設定直下に記述を追加した。
$ sudo vim /etc/nginx/nginx.conf http { ... server { ... # Basic permission auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; ... } } $ sudo systemctl restart nginx
以上でBasic認証設定も完了した。
先程と同じページにアクセスするとユーザー名とパスワードが要求される。
参考
Nginx を CentOS 7 にインストールする手順 | WEB ARCH LABO
Nginx で Basic 認証