annotate README @ 5:cc231fa95159

Auth request: expand example in README. 1. An example how to don't pass to upstream server body (if happend to be already read from client) and Content-Length header to handle POSTs correctly. 2. An example how to pass original request URI to backend.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 05 Mar 2010 21:20:32 +0300
parents 187ac993cd15
children fb05a061532c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
1 Auth request module for nginx.
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
2
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
3 This module allows authorization based on subrequest result. Once subrequest
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
4 returns 2xx status - access is allowed, on 401 or 403 - disabled with
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
5 appropriate status. Anything else is considered to be an error.
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
6
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
7 For 401 status WWW-Authenticate header from subrequest response will be
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
8 passed to client.
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
9
2
187ac993cd15 Auth request: mention satisfy directive in README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
10 Module works at access phase and therefore may be combined nicely with other
187ac993cd15 Auth request: mention satisfy directive in README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
11 access modules (access, auth_basic) via satisfy directive.
187ac993cd15 Auth request: mention satisfy directive in README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 0
diff changeset
12
0
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
13 Configuration directives:
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
14
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
15 auth_request <uri>|off
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
16
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
17 Context: http, server, location
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
18 Default: off
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
19
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
20 Switches auth request module on and sets uri which will be asked for
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
21 authorization.
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
22
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
23 Usage:
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
24
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
25 location /private/ {
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
26 auth_request /auth;
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
27 ...
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
28 }
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
29
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
30 location = /auth {
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
31 proxy_pass ...
5
cc231fa95159 Auth request: expand example in README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
32 proxy_pass_request_body off;
cc231fa95159 Auth request: expand example in README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
33 proxy_set_header Content-Length "";
cc231fa95159 Auth request: expand example in README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2
diff changeset
34 proxy_set_header X-Original-URI $request_uri;
0
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
35 }
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
36
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
37 To compile nginx with auth request module, use "--add-module <path>" option
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
38 to nginx configure.
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
39
436da5355bd5 Auth request module.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff changeset
40 Development of this module was sponsored by Openstat (http://www.openstat.com/).