Nginx は、高性能 Web サーバーとして、高速で安定したサービスを外部に提供するリバース プロキシ サーバーとして使用できます。リバース プロキシでは、Nginx は要求されたリソースを取得するために内部 Web サーバーに接続する必要があり、これには Web サーバーの認証メカニズムが関係します。
Web サーバーの認証は、一般にベーシック認証とダイジェスト認証の 2 つの方式に分けられます。基本認証とは、ユーザーがユーザー名とパスワードを入力して自分の身元を確認し、サーバーがリソースへのアクセスを許可する前にこの情報を検証することを意味します。ダイジェスト認証とは、ユーザーがリソースをリクエストすると、サーバーがいくつかのランダムな値を返すことを意味します。クライアントは、リソースをリクエストする前にこれらの値を暗号化します。サーバーは、クライアントから提供された暗号化された情報を復号化することで身元を検証します。
リバース プロキシでは、Nginx が接続する必要がある Web サーバーも上記の認証措置を実行する必要があります。現時点では、Nginx 構成ファイルでプロキシ検証を設定することで Web サーバーを認証できます。
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に設定されます。
htpasswd -c /etc/nginx/conf.d/conf/Password username
-cパラメータは、初めてユーザーを追加することを示します。 username はユーザー名です。上記のコマンドを実行すると、パスワードの入力を求められます。完了後、ユーザーとパスワードが
Passwordファイルに生成されます。
htpasswd /etc/nginx/conf.d/conf/Password user2
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
。
user1:PasswordRealm:2da86e1b3a8a5511c400d00737a7a233
はユーザー名、PasswordRealm
はパスワードです 暗号化されたランダム値に対応するフィールド名と結合されます2da86e1b3a8a5511c400d00737a7a233
は暗号化された暗号文です。上記は、Nginx が Web サーバー認証を実装する方法です。上記の認証手段により、Web サーバー上で効果的な保護とセキュリティ制御が行われ、システムのセキュリティと安定性が確保されます。
以上がNginxリバースプロキシにおけるWebサーバーの認証機構の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。