ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Конфликт allow, deny с error_page в внутри server или ошибка конфигурации?


  • To: Nginx Ru <nginx-ru@xxxxxxxxx>
  • Subject: Конфликт allow, deny с error_page в внутри server или ошибка конфигурации?
  • From: subscribe@xxxxxxxx
  • Date: Wed, 27 Feb 2013 21:19:03 +0400

Доброго времени суток сообществу.
Странная проблема замечена с nginx.
Пример моей конфигурации:

server {
listen 80;
server_name vhost.mydomain.ltd;
access_log       /var/log/nginx/vhost.mydomain.ltd/access.log;
error_log       /var/log/nginx/vhost.mydomain.ltd/error.log;
root /srv/http/vhost.mydomain.ltd/html;
index index.php;
client_max_body_size 30m;
allow 10.0.0.0/8;
        deny all;

location / {
        index index.php;
}

location ~* \.(jpg|jpeg|gif|png|svg|js|css|ico|txt)$ {
        access_log off;
        expires      30d;
        root            /srv/http/vhost.mydomain.ltd/html;
}

location ~ \.php$ {
        try_files  $uri =404;
        fastcgi_pass   php_backends;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;
        fastcgi_param  QUERY_STRING       $query_string;
        include /etc/nginx/fastcgi_params.conf;
}

location /uploads/ {
        location ~ .*\.(php|php5)?$
            {
                        deny all;
                }
}

location = /favicon.ico {
        log_not_found off;
        access_log off;
}
location = /robots.txt {
        log_not_found off;
        access_log off;
}

location ~ /\.ht {
        deny  all;
}
include /etc/nginx/error_pages.conf;
        location /error_pages/ {
               internal;
               root /srv/http/webstatic/html;
        }

}
Содержимое /etc/nginx/error_pages.conf:
error_page 400 /error_pages/400.html;
error_page 401 /error_pages/401.html;
error_page 402 /error_pages/402.html;
error_page 403 /error_pages/403.html;
error_page 404 /error_pages/404.html;
error_page 405 /error_pages/405.html;
error_page 406 /error_pages/406.html;
error_page 407 /error_pages/407.html;
error_page 408 /error_pages/408.html;
error_page 409 /error_pages/409.html;
error_page 410 /error_pages/410.html;
error_page 411 /error_pages/411.html;
error_page 412 /error_pages/412.html;
error_page 413 /error_pages/413.html;
error_page 414 /error_pages/414.html;
error_page 415 /error_pages/415.html;
error_page 416 /error_pages/416.html;
error_page 417 /error_pages/417.html;
error_page 500 /error_pages/500.html;
error_page 501 /error_pages/501.html;
error_page 502 /error_pages/502.html;
error_page 503 /error_pages/503.html;
error_page 504 /error_pages/504.html;
error_page 505 /error_pages/505.html;

При такой конфигурации перестаёт работать error_page 403. Вместо того, что задано, nginx отдаёт стандартную страничку ошибки. Если перенести директивы allow, deny в внутрь location / Отдаёт указанную страничку нормально. С остальными страничками проблем не замечено. Пробовал указывать уровень логирования debug в error_log, но ничего подозрительного по данной проблеме не заметил.
В чём может быть дело?

nginx version: nginx/1.2.7
built by gcc 4.4.5 (Debian 4.4.5-8)
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio --add-module=/usr/src/nginx-1.2.6/addmodules/headers-more-nginx-module --without-http_userid_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --without-http_proxy_module --without-http_uwsgi_module --without-http_scgi_module

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.