Nginx は、リバース プロキシ、負荷分散、その他のシナリオで広く使用されており、これらのアプリケーション シナリオでは、アクセス制御が必要になることがよくあります。 Nginx は、アクセス制御リスト (ACL) に基づいた構成方法を提供します。これにより、さまざまなユーザー、さまざまな IP アドレス、さまざまなリクエスト パスなどに対するアクセス制御を実装できます。この記事では、ID 認証と権限制御を実現するためのユーザー認証に基づく ACL 設定方法に焦点を当てます。
Nginx は、ngx_http_auth_basic_module と ngx_http_auth_request_module という 2 つのユーザー認証モジュールを提供します。前者は HTTP 基本認証に基づいており、ユーザーはリクエスト ヘッダーにユーザー名とパスワードを指定する必要があります。一方、後者はバックエンド サーバーを通じてリクエストを認証します。どちらの認証モジュールにもそれぞれ長所と短所があるため、実際のニーズに応じて適切な認証モジュールを選択してください。
ngx_http_auth_request_module モジュールに基づくユーザー認証プロセスは次のとおりです:
1) クライアントはリクエストを Nginx に送信します。 ##2) Nginx リクエストをインターセプトし、認証リクエストをバックエンド サーバーに送信します;
3) バックエンド サーバーはユーザーを認証し、認証結果を返します;
4) Nginx は認証結果に基づいてクライアントに応答します。
2) /user: すべてのユーザーがアクセスできます;
3)/login: ユーザー認証に使用されるインターフェイス。
location /admin { auth_request /auth; error_page 401 = /login; proxy_pass http://upstream; } location /user { auth_request /auth; proxy_pass http://upstream; } location = /auth { internal; proxy_pass http://upstream/auth; proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; }
以上がNginx リバースプロキシのユーザー認証に基づく ACL 設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。