Status: Deprecated
This article is deprecated and no longer maintained.
Reason
Nginx authentication content has been updated and consolidated.
See Instead
This article may still be useful as a reference, but may not work or follow best practices. We strongly recommend using a recent article written for the operating system you are using.
序章
Nginxは、アクティブに使用されている主要なWebサーバーの1つです。 それとその商用版であるNginxPlusは、Nginx、Incによって開発されました。
このチュートリアルでは、Ubuntu 14.04でHTTP基本認証方式を使用して、Nginxを利用したWebサイトへのアクセスを制限する方法を学習します。 HTTP基本認証は、単純なユーザー名と(ハッシュされた)パスワード認証方法です。
前提条件
このチュートリアルを完了するには、次のものが必要です。
-
sudo非rootユーザーを含む1つのUbuntu14.04ドロップレット。これは、この初期サーバーセットアップチュートリアルに従ってセットアップできます。
-
Nginxがサーバーにインストールおよび構成されています。これは、このNginxの記事に従って行うことができます。
ステップ1—Apacheツールのインストール
あなたが必要になります htpassword
ターゲットWebサイトへのアクセスを制限するパスワードを設定するコマンド。 このコマンドは、 apache2-utils
パッケージなので、最初のステップはそのパッケージをインストールすることです。
- sudo apt-get install apache2-utils
ステップ2—HTTP基本認証クレデンシャルの設定
このステップでは、Webサイトを実行しているユーザーのパスワードを作成します。
そのパスワードと関連するユーザー名は、指定したファイルに保存されます。 パスワードは暗号化され、ファイルの名前は任意の名前にすることができます。 ここでは、ファイルを使用します /etc/nginx/.htpasswd
およびユーザー名nginx。
パスワードを作成するには、次のコマンドを実行します。 認証してから、パスワードを指定して確認する必要があります。
- sudo htpasswd -c /etc/nginx/.htpasswd nginx
新しく作成されたファイルの内容をチェックして、ユーザー名とハッシュされたパスワードを確認できます。
- cat /etc/nginx/.htpasswd
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/
ステップ3—Nginx構成を更新する
HTTP基本認証クレデンシャルを作成したので、次のステップは、それを使用するようにターゲットWebサイトのNginx構成を更新することです。
HTTP基本認証は、 auth_basic
と auth_basic_user_file
ディレクティブ。 の値 auth_basic
任意の文字列であり、認証プロンプトに表示されます。 の値 auth_basic_user_file
手順2で作成したパスワードファイルへのパスです。
両方のディレクティブは、通常は次の場所にあるターゲットWebサイトの構成ファイルに含まれている必要があります。 /etc/nginx/sites-available
ディレクトリ。 を使用してそのファイルを開きます nano
またはお気に入りのテキストエディタ。
- sudo nano /etc/nginx/sites-available/default
location セクションで、両方のディレクティブを追加します。
. . .
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
auth_basic "Private Property";
auth_basic_user_file /etc/nginx/.htpasswd;
}
. . .
ファイルを保存して閉じます。
ステップ4—セットアップのテスト
変更を適用するには、最初にNginxをリロードします。
- sudo service nginx reload
次に、セキュリティで保護したWebサイトにアクセスしてみてください。 http://your_server_ip/
お気に入りのブラウザで。 認証ウィンドウ(「私有財産」と表示されます。これは、私たちが設定した文字列です)が表示されます。 auth_basic
)、正しいクレデンシャルを入力するまでWebサイトにアクセスできません。 設定したユーザー名とパスワードを入力すると、デフォルトのNginxホームページが表示されます。
結論
NginxWebサイトの基本的なアクセス制限を完了しました。 この手法とアクセス制限の他の手段の詳細については、Nginxのドキュメントを参照してください。