ホームページ  >  記事  >  運用・保守  >  NginxリバースプロキシにおけるWebサーバーの認証機構

NginxリバースプロキシにおけるWebサーバーの認証機構

PHPz
PHPzオリジナル
2023-06-10 21:36:131813ブラウズ

Nginx は、高性能 Web サーバーとして、高速で安定したサービスを外部に提供するリバース プロキシ サーバーとして使用できます。リバース プロキシでは、Nginx は要求されたリソースを取得するために内部 Web サーバーに接続する必要があり、これには Web サーバーの認証メカニズムが関係します。

Web サーバーの認証は、一般にベーシック認証とダイジェスト認証の 2 つの方式に分けられます。基本認証とは、ユーザーがユーザー名とパスワードを入力して自分の身元を確認し、サーバーがリソースへのアクセスを許可する前にこの情報を検証することを意味します。ダイジェスト認証とは、ユーザーがリソースをリクエストすると、サーバーがいくつかのランダムな値を返すことを意味します。クライアントは、リソースをリクエストする前にこれらの値を暗号化します。サーバーは、クライアントから提供された暗号化された情報を復号化することで身元を検証します。

リバース プロキシでは、Nginx が接続する必要がある Web サーバーも上記の認証措置を実行する必要があります。現時点では、Nginx 構成ファイルでプロキシ検証を設定することで Web サーバーを認証できます。

  1. Basic 認証:
  • Nginx http で次を追加します。段落下のコード:
     auth_basic "Input your username and password";
     auth_basic_user_file /etc/nginx/conf.d/conf/auth.conf;

ここで、auth_basic は、検証メカニズムを有効にし、入力ボックス auth_basic_user_file## にユーザー名とパスワードを入力するようユーザーに求めることを意味します。 # を指定することを意味します。 ユーザー名とパスワードを保存するファイルは、/etc/nginx/conf.d/conf/auth.conf に設定されます。

    まず、auth.conf ファイルにパスワード ファイルを作成します。
  •      htpasswd -c /etc/nginx/conf.d/conf/Password username

-c パラメータは、初めてユーザーを追加することを示します。 username はユーザー名です。上記のコマンドを実行すると、パスワードの入力を求められます。完了後、ユーザーとパスワードが Password ファイルに生成されます。

    ユーザーの追加:
  •      htpasswd /etc/nginx/conf.d/conf/Password user2
上記のコマンドがすでに存在するパスワード ファイルに対するものである場合、新しいユーザーを追加すると、パスワードの入力も求められます。

    ダイジェスト認証
    Nginx の http セクションに次のコードを追加します:
  •      auth_digest "Please Login";
         auth_digest_user_file /etc/nginx/conf.d/conf/auth_digest.conf;

auth_digest は、検証メカニズムを有効にし、ユーザーに入力ボックスにユーザー名とパスワードを入力するよう求めることを意味します。auth_digest_user_file は、ユーザー名とパスワードが保存されているファイルを指定することを意味します。ここでは、# で設定します。 ##/etc/nginx/conf.d /conf/auth_digest.conf

次の内容を auth_digest.conf ファイルに追加します:
  •      user1:PasswordRealm:2da86e1b3a8a5511c400d00737a7a233
  • ここで、
user1

はユーザー名、PasswordRealmはパスワードです 暗号化されたランダム値に対応するフィールド名と結合されます 2da86e1b3a8a5511c400d00737a7a233 は暗号化された暗号文です。 上記は、Nginx が Web サーバー認証を実装する方法です。上記の認証手段により、Web サーバー上で効果的な保護とセキュリティ制御が行われ、システムのセキュリティと安定性が確保されます。

以上がNginxリバースプロキシにおけるWebサーバーの認証機構の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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