nginxでベーシック認証かける方法

テストサイトなどでは基本的にベーシック認証などを使ってアクセス制限かけることが多いと思います。apacheを使えばhtaccessで可能ですが残念ながらnginxはhtaccessを使えないのでconfファイルをいじって対応します

パッケージのインストール

nginx+apacheのリバースプロキシをしている場合は、既にパッケージが入っているかもしれませんが、nginx単体やnginx+nginxのリバースプロキシだとパッケージがないかもしれませんのでない場合はインストールします

$ sudo yum install httpd-tools

.htpasswd ファイルの作成

$ sudo htpasswd -c /etc/nginx/.htpasswd username
New password: password
Re-type new password: password
Adding password for user username

confファイルに追記

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

server {
    listen 80;
    root /usr/share/nginx/html;
    index index.html index.htm;

    location / {
        auth_basic "Restricted";                   # 認証時に表示されるメッセージ
        auth_basic_user_file /etc/nginx/.htpasswd; # .htpasswdファイルのパス
    }
}

参考サイト

NginxでBasic認証させる件

個人支援・寄付について

サイトラボではBuildreeの開発などのため、現在個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではkyashというサービスをつかっております。ビットコインでも受け付けております。