satisfy problem
Igor Sysoev
igor at sysoev.ru
Mon Apr 11 14:19:34 MSD 2011
On Mon, Apr 11, 2011 at 02:11:58PM +0400, Igor Sysoev wrote:
> On Fri, Apr 08, 2011 at 12:16:34PM +0800, lhmwzy wrote:
> > another problem:
> >
> > when use:
> > location ^~ /ks/admin
> > {
> > satisfy any;
> > allow 10.68.136.241/32;
> > allow 10.66.23.80/32;
> > deny all;
> > auth_basic "passwd";
> > auth_basic_user_file ksadminpasswd;
> > }
> > then the 401 error page can not be customized,only show the default
> > 401error page:
> >
> > "401 Authorization Required
> > -------------------------------------------------------------------------------
> > nginx/0.9.7
> > ".
>
> The attached patch should fix the bug.
A new better patch.
--
Igor Sysoev
http://sysoev.ru/en/
-------------- next part --------------
Index: src/http/ngx_http_core_module.c
===================================================================
--- src/http/ngx_http_core_module.c (revision 3886)
+++ src/http/ngx_http_core_module.c (working copy)
@@ -1108,17 +1108,21 @@
ngx_http_core_post_access_phase(ngx_http_request_t *r,
ngx_http_phase_handler_t *ph)
{
+ ngx_int_t access_code;
+
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"post access phase: %ui", r->phase_handler);
- if (r->access_code) {
+ access_code = r->access_code;
- if (r->access_code == NGX_HTTP_FORBIDDEN) {
+ if (access_code) {
+ if (access_code == NGX_HTTP_FORBIDDEN) {
ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
"access forbidden by rule");
}
- ngx_http_finalize_request(r, r->access_code);
+ r->access_code = 0;
+ ngx_http_finalize_request(r, access_code);
return NGX_OK;
}
More information about the nginx
mailing list