Doing an "upstream" request without sending result back to client
Maxim Dounin
mdounin at mdounin.ru
Mon Dec 2 13:48:40 UTC 2013
Hello!
On Mon, Dec 02, 2013 at 09:22:50PM +1100, Vincent Gross wrote:
> Hi folks,
>
> I want to implemement a webid authn module in nginx. This is the big picture:
>
> 1. Client do an https request and sends a client cert
> 2. Certs contains a subjectAltName URI, e.g. https://mysite.info/id/
> 3. Server fetches https://mysite.info/id/ content
> 4. If content do contains public key info matching client cert, authn
> successful.
>
> From what I see in src/http/ngx_http_upstream.c in functions
> ngx_http_upstream_process_header(ngx_http_request_t *, ngx_http_upstream_t *)
> & ngx_http_upstream_send_response(ngx_http_request_t *, ngx_http_upstream_t *),
> it is not possible to do the request [3] without sending back at least a
> response header back to the client.
>
> Did I miss something or am I really setting myself for reimplementing the
> mechanisms of ngx_http_upstream.c? Any advices/guidelines for the latter (other
> then taking example on original upstream?)
You may try looking into subrequests, in particular -
NGX_HTTP_SUBREQUEST_IN_MEMORY functionality.
--
Maxim Dounin
http://nginx.org/en/donation.html
More information about the nginx-devel
mailing list