モジュール ngx_http_auth_request_module

構成例
ディレクティブ
     auth_request
     auth_request_set

ngx_http_auth_request_module モジュール (1.5.4 以降) は、サブリクエストの結果に基づいてクライアント認証を実装します。サブリクエストが 2xx レスポンスコードを返した場合、アクセスは許可されます。401 または 403 を返した場合、アクセスは対応するエラーコードで拒否されます。サブリクエストによって返されるその他のレスポンスコードはすべてエラーとみなされます。

401 エラーの場合、サブリクエストのレスポンスから「WWW 認証」ヘッダーもクライアントに送信されます。

このモジュールはデフォルトではビルドされず、--with-http_auth_request_module 構成パラメータを使用して有効にする必要があります。

このモジュールは、他のアクセスモジュール (ngx_http_access_modulengx_http_auth_basic_module、および ngx_http_auth_jwt_module など) と satisfy ディレクティブを介して一緒に使用できます。

バージョン 1.7.3 より前では、認証サブリクエストへのレスポンスはキャッシュできませんでした (proxy_cacheproxy_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 uri | off;
デフォルト
auth_request off;
コンテキスト httpserverlocation

サブリクエストの結果に基づいた認証を有効にし、サブリクエストが送信される URI を設定します。

構文 auth_request_set $variable value;
デフォルト
コンテキスト httpserverlocation

認証リクエストの完了後に、リクエスト variable を指定された value に設定します。この値には、$upstream_http_* などの認証リクエストからの変数を含めることができます。