[Linux] Nginx に Basic 認証を設定する方法

nginx_basic_auth_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

Linux 環境にベーシック認証をインストールする

サイトへのアクセス制限を行うときにベーシック認証はとても便利です。

ベーシック認証は Apache の拡張機能のため、初期状態では Nginx では利用できません。ただ作業手順を知っていれば導入は簡単に行えるため、ベーシック認証の導入手順をまとめていきます。

 

ベーシック認証を設定する手順

では早速ベーシック認証の設定方法を確認していきます。

作業手順1:ベーシック認証のモジュールをインストールします。

CentOS / Redhat 系で利用する「yum」コマンドと Ubuntu / Debian 系で利用する「apt」コマンドでは、インストールするパッケージ名が異なります。

CentOS / Redhat系の場合

yum install -y httpd-tools

Ubuntu / Debian系の場合

apt install apache2-utils

 

作業手順2:ベーシック認証で登録するユーザーを追加する

「htpasswd」コマンドを使用して、ベーシック認証に追加するファイルを設定します。

htpasswd -c /etc/nginx/.htpasswd [追加するユーザー名]

 

作業手順3:Nginx の設定ファイルにベーシック認証の設定を追加する

作業手順4:Nginx を再起動する

systemctl restart nginx

 

インストール手順の実行履歴と詳細説明

インストール手順を実行した際のコマンドの実行履歴と詳細説明を行います。
なお動作検証に利用したのは、AWS にて CentOS7 と Ubuntu18.04 です。

 

ではまずはベーシック認証のモジュールをインストールします。設定手順やコマンドはほぼ同じですが、インストールするモジュールが環境により異なります。

CentOS7 の場合の実行履歴

Ubuntu18.04 の場合の実行履歴

 

ベーシック認証を通過できるユーザーを登録します。サンプルの実行履歴では hoge ユーザーを追加しています。

ユーザー追加の実行履歴

 

Nginx の設定ファイルにベーシック認証の設定を追加します。
ベーシック認証を設定したいパスに「auth_basic」と「auth_basic_user_file」を記述することにより、ベーシック認証が有効になります。サンプルではドメイン直下にベーシック認証を設定しています。

nginx に追加する内容

 

Nginx の設定を反映する前に、念のため Nginx の設定内容に誤りが無いかを確認します。

Nginx 設定ファイルの文法チェック

 

最後に Nginx を再起動すればベーシック認証の設定完了です。

Nginx の再起動

root@hostname:# systemctl restart nginx

 

お疲れさまでした。

 

 

Linuxの知識については下記の本も参考になるので、スキルアップにお役立てください。

三宅 英明 (著)、大角 祐介 (著)
ページ数: 440ページ
出版社:SBクリエイティブ
発売日:2015/06/06

出典:amazon