ngx_http_auth_request_module モジュール
設定例 ディレクティブ auth_request auth_request_set |
ngx_http_auth_request_module
モジュール(1.5.4+)はサブリクエストの結果に基づいたクライアント認証を実装します。サブリクエストが2xx応答コードを返す場合は、アクセスが許可されます。401まてゃ403が返る場合、アクセスはエラーコードに応じて拒否されます。サブリクエストが返すその他全ての応答コードはエラーに含まれます。
401エラーについては、クライアントはサブリクエストの応答から"WWW-Authenticate"ヘッダも受け取ります。
このモジュールはデフォルトでビルドされず、--with-http_auth_request_module
configureパラメータを使って有効にする必要があります。
モジュールは、satisfyディレクティブによってngx_http_access_module、ngx_http_auth_basic_module および ngx_http_auth_jwt_moduleのような他のアクセスモジュールと組み合わされるかも知れません。
バージョン1.7.3以前は、認証サブリクエストの応答はキャッシュされないでしょう(using proxy_cache, proxy_store などを使った場合)。
設定例
location /private/ { auth_request /auth; ... } location = /auth { proxy_pass ... proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; }
ディレクティブ
構文: |
auth_request |
---|---|
デフォルト: |
auth_request off; |
コンテキスト: |
http , server , location |
サブリクエストの結果による認証を有効にし、サブリクエストが送信されるURIを設定します。
構文: |
auth_request_set |
---|---|
デフォルト: | - |
コンテキスト: |
http , server , location |
認証リクエストが完了した後にvariable
に指定したvalue
を設定します。valueには$upstream_Http_*
のような認証リクエストの変数が含まれるかも知れません。