Переход с 6.28 на 7.2

Igor Sysoev is at rambler-co.ru
Thu Jun 26 15:58:30 MSD 2008


On Thu, Jun 26, 2008 at 03:22:46PM +0400, nginx at example.com wrote:

> Конфигурация
> user nginx nginx;
> worker_processes 20;
> 
> error_log /var/log/nginx/error_log info;
> 
> worker_rlimit_nofile	8192;
> 
> events {
> 	worker_connections  8192;
> 	use epoll;
> }
> 
> http {
> 	include		/etc/nginx/mime.types;
> 	default_type	application/octet-stream;
> 
> 	client_header_timeout	10m;
> 	client_body_timeout	10m;
> 	send_timeout		10m;
> 	client_max_body_size 	10m;
> 
> 	connection_pool_size		256;
> 	client_header_buffer_size	1k;
> 	large_client_header_buffers	4 2k;
> 	request_pool_size		4k;
> 
> 	gzip on;
> 	gzip_min_length	1100;
> 	gzip_buffers	4 8k;
> 	gzip_types	text/plain;
> 
> 	output_buffers	1 32k;
> 	postpone_output	1460;
> 
> 	sendfile	on;
> 	tcp_nopush	on;
> 	tcp_nodelay	on;
> 
> 	keepalive_timeout	75 20;
> 
> 	ignore_invalid_headers	on;
> 
> 	index index.html;
> 
>         proxy_read_timeout 65;
> 	proxy_send_timeout 11;
> 	proxy_connect_timeout 10;
> 	proxy_next_upstream error;
> 
> #	upstream  apache0  {
> #	    ip_hash;
> #	    server 172.29.8.4:80 fail_timeout=60s;
> #	    server 172.29.8.5:80 fail_timeout=60s;
> #	}
> 
> 	log_format  my_log_format  '$msec $request_time '
> 	    '$remote_addr:$remote_port $connection $uid_got $uid_set '
> 	    '$status $request_length $body_bytes_sent '
> 	    '"$request" "$http_referer"';
> 
>         log_format  stat_log_format  '$msec $request_time
> $remote_addr:$remote_port '
> 	    '$status $uid_got $uid_set $server_name$request_uri $http_referer '
>             '$upstream_addr $upstream_response_time $upstream_status
> $time_local "$http_user_agent"';
> 
>         limit_zone one $binary_remote_addr 10m;
> 	limit_conn one 64;
>         limit_zone too $server_name 1m;
> 
> 	userid          on;
> 	userid_name     stat_uid;
> 	userid_domain   none;
> 	userid_path     /;
> #	userid_expires  365d;
> 
> 	include /etc/nginx/include/*;
> }
> 
> Включаемый файл содержит
> server {
>     listen		81.176.70.170;
>     server_name		zamsenya.ru www.zamsenya.ru;
>     charset		windows-1251;
>     access_log 		/var/log/nginx/zamsenya.ru-access_log combined;
> #    error_log 		/var/log/nginx/zamsenya.ru-error_log;
> 
>     location ~* (^/.htaccess.*|admin\/(admin.php.*)$) { deny all; }
>     location /  {
>     root   /data/zamsenya.ru/htdocs;
>     }
>     location ~* ^(.+\.(php|php3|html)|.*/)$ {
> 
>         proxy_pass        	http://apache0;
>         proxy_set_header        Host zamsenya.ru;
>         proxy_set_header   	X-Forwarded-For  $proxy_add_x_forwarded_for;
>         proxy_set_header  	X-Real-IP  $remote_addr;
>         index                   index.php index.html;
> 	limit_conn		too 64;
>         access_log 		/var/log/nginx/stat_log stat_log_format;
>     }
> }
> 
> При запросе основной страницы выдает
> # wget http://zamsenya.ru/
> --2008-06-26 15:19:30--  http://zamsenya.ru/
> Resolving zamsenya.ru... 81.176.70.170
> Connecting to zamsenya.ru|81.176.70.170|:80... connected.
> HTTP request sent, awaiting response... 403 Forbidden
> 2008-06-26 15:19:30 ERROR 403: Forbidden.
> 
> Не подскажите что поменялось?

В 0.7.2, если URI полностью совпал с location, то регулярные выражения
не проверяются. Поэтому запрос "/" обработан в "location /", а не в
"location ~* ^(.+\.(php|php3|html)|.*/)$".

Файла /data/zamsenya.ru/htdocs/index.html, поэтому и 403.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list