nginx: Basic認証の使い方

  • -

    シェア
  • ---

    LINEで送る
  • -

    はてなブックマーク
    ブックマーク
  • -

    pocket
  • -

    rss
他言語サイト
us us
nginx ロゴ

WebサーバのnginxでBasic認証を行う方法です。

nginxでは .htaccessファイルは使いません。設定ファイルに記述します。

htpasswdコマンドのインストール

Basic認証のユーザ名・パスワード作成にhtpasswdコマンドを使います。

お使いのOSにインストールされていない場合インストールする必要があります。

ここでは、CentOSでのインストール方法です。

何も断りがない場合、以降の実行ユーザは、すべてスーパーユーザです。

yum install httpd-tools

.htpasswdファイルの作成

htpasswdコマンドを使用してBasic認証のユーザ名とパスワードを追加します。

htpasswd -c /etc/nginx/.htpasswd [username]

すると、コマンドプロンプトでパスワード入力が求められます。

New password:

パスワードを入力してEnterキーを押下します。

Re-type new password:

パスワードの再入力が求められるので同じパスワードを設定します。

指定したパスワードファイルが作成されます。

内容はこんな感じです。

username:$apr1$6wghD96e$Pn64Jp.39XjwD5YO5xj1P1

nginxの設定ファイルにBasic認証を適用

使用しているnginxの設定ファイルにBasic認証を適用します。

/etc/nginx/conf.d/***.conf

location ~* /wp-login\.php|/wp-admin/((?!admin-ajax\.php).)*$ {
    satisfy any;
    allow 127.0.0.1;
    deny all;
    auth_basic "basic authentication";
    auth_basic_user_file "/etc/nginx/.htpasswd";
    location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        if (!-f $document_root$fastcgi_script_name) {
            return 404;
        }
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_buffers 256 128k;
        fastcgi_buffer_size 128k;
        fastcgi_intercept_errors on;
        fastcgi_read_timeout 120s;
    }
}

1-6行目

Basic認証の設定を行っています。

7-20行目

Basic認証ページでもphp-fpmを使うのでその設定内容です。

locationで指定しているパスは、WordPressのユーザログイン画面、管理画面をBasic認証の対象ページに指定しています。

satisfy any

特定のホストからのアクセスだけにBasic認証を使う場合に指定します。

この場合、

allow: Basic認証を使わないホスト
deny: Basic認証を使うホスト

になります。

サンプルコードでは、自サーバ内以外からのアクセスはすべてBasic認証を使うようにしています。

satisfy all

すべてのホストからのアクセスにBasic認証を使う場合に指定します。

allow: Basic認証を使うホスト
deny: アクセス拒否

satisfyの値によってallowとdenyの意味が変わることに注意しましょう。

nginxの再起動

Webサーバを再起動して設定内容を反映させます。

systemctl restart nginx

 

最近Webカテゴリでよく読まれている記事です。
post-cta-image
blog image

ドメイン取得の意味が分からない人へ。王道の方法を紹介します。

ドメインの登録業者を選ぶのに悩む必要はないです。サイトを簡単に早く公開するには全くいらないことで、むしろ邪魔です。『お名前.com』というサービスは必ず耳にします。そのお名前.comのメリットとデメリットと一緒に、ドメインの意味が分からない人が一番失敗しないドメインの取得方法を紹介します。

tadtadya.com

_

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

この記事を気に入ったらぜひシェアも!!