ホームページ  >  記事  >  運用・保守  >  Nginx を使用して HTTP 基本認証を実装する方法

Nginx を使用して HTTP 基本認証を実装する方法

WBOY
WBOYオリジナル
2023-06-10 10:36:142468ブラウズ

Nginx は、高性能で信頼性の高い Web サーバーおよびリバース プロキシ サーバーです。 Nginx は、強力な負荷分散およびキャッシュ機能に加えて、HTTP 基本認証もサポートしています。 HTTP 基本認証は、リクエスト ヘッダーにユーザー名とパスワードを追加することでユーザーの身元を確認する単純な認証方法です。この記事では、Nginx を使用して HTTP 基本認証を実装する方法を学びます。

1. ユーザー名とパスワードの設定

まず、パスワード ファイルを作成する必要があります。 htpasswd コマンドを使用してこのファイルを作成できます。 htpasswd は、HTTP 基本認証パスワードを管理するためのコマンド ライン ツールです。

ターミナルで次のコマンドを使用してパスワード ファイルを作成できます:

htpasswd -c /etc/nginx/.htpasswd username

このうち -c は新しいパスワード ファイルを作成することを意味します。/etc/nginx/.htpasswd はパスワード ファイルへのパス、 username は追加するユーザー名です。このコマンドを実行すると、パスワードの入力を求められます。パスワードを入力すると、htpasswd はパスワードをハッシュし、パスワード ファイルに保存します。

パスワード ファイルにさらにユーザーを追加する場合は、次のコマンドを使用します。

htpasswd /etc/nginx/.htpasswd username2

パスワード ファイルがすでに存在するため、このコマンドには -c オプションがありません。コマンドを入力すると、パスワードの入力を求められます。入力すると、htpasswd はユーザー名とパスワードをハッシュしてパスワード ファイルに追加します。

2. Nginx に基本認証を適用する

これで、ユーザー名とパスワードのハッシュを含むパスワード ファイルが作成されました。次に、Nginx で HTTP 基本認証を適用する必要があります。

次のディレクティブをサーバー ブロックまたはロケーション ブロックに追加する必要があります:

auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;

最初のディレクティブは、リクエストに対して基本認証を実行し、ポップアップに「制限付き」を表示するように Nginx に指示します。説明としてログイン ボックス。

2 番目のディレクティブは、/usr/share/nginx/.htpasswd ファイルを使用してユーザーを認証するように Nginx に指示します。

たとえば、次のコードを Nginx のデフォルトのサーバー ブロックに追加できます:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;
    auth_basic "Restricted";
    auth_basic_user_file /etc/nginx/.htpasswd;
}

これで、Nginx サーバーに基本認証が正常に追加されました。

3. HTTP 基本認証のテスト

次に、設定した認証関数をテストしましょう。テストには、curl や Firefox、その他のツールを使用できます。

curl を使用したテスト:

curl -I http://localhost

コマンド ラインでは、ユーザー名とパスワードの入力を求められます。正しいユーザー名とパスワードを入力すると、HTTP 応答ヘッダーに次のコードが含まれていることがわかります。

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
...

Firefox でのテスト:

Firefox にサーバー アドレス http://localhost を入力します。 Firefox は「制限付き」という単語と説明を含むウィンドウをポップアップ表示し、ユーザー名とパスワードの入力を求めます。正しいユーザー名とパスワードを入力すると、サーバーのデフォルト Web ページにリダイレクトされます。

概要

この記事では、Nginx を使用して HTTP 基本認証を実装する方法を紹介します。 HTTP 基本認証は、Web サーバーの機密リソースを保護するために使用できる、シンプルだが効果的な認証方法です。最初に htpasswd コマンドを使用してパスワード ファイルを作成し、次に Nginx 構成で Basic Authentication ディレクティブを適用することで、HTTP Basic 認証を Nginx サーバーに簡単に追加できます。

以上がNginx を使用して HTTP 基本認証を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。