Welcome! Log In Create A New Profile

Advanced

Странности с регэкспами в локейшне

Михаил Монашёв
January 17, 2013 09:00AM
Здравствуйте.

nginx version: nginx/1.3.11
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --with-file-aio --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_image_filter_module --with-http_stub_status_module --with-pcre

Вот такой конфиг

location ~* "^/([a-z0-9\-\.]+)/(.*)" {
proxy_pass http://$1:80/$2;
proxy_set_header Host $1;
proxy_set_header Referer "http://$1/";
proxy_set_header X-Real-IP "";
proxy_set_header Cookie "";
proxy_ignore_headers X-Accel-Redirect X-Accel-Expires X-Accel-Limit-Rate X-Accel-Buffering X-Accel-Charset Expires Cache-Control Set-Cookie;

proxy_hide_header Location;
proxy_hide_header Set-Cookie;
proxy_hide_header WWW-Authenticate;

proxy_intercept_errors on;
error_page 301 302 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 422 423 424 425 426 449 500 501 502 503 504 505 506 507 509 510 = @zero;

proxy_temp_path /optcache3/proxy-tmp;
proxy_cache_key "$1/$2";
proxy_cache optcache3;

image_filter test;
image_filter_buffer 10M;

}

location / {
return 403;
}

location @zero {
return 204;
}

приводит в ошибкам:
2013/01/17 17:47:08 [error] 1380#0: *1290729 no host in upstream ":80/", client: 65.55.215.62, server: i99.beon.ru, request: "GET /images5.fanpop.com/image/photos/31100000/Sunggyu-infinite-EC-9D-B8-ED-94-BC-EB-8B-88-ED-8A-B8-31133110-245-182.gif HTTP/1.1", host: "i99.beon.ru"

т.е. в $1 почему-то хост теряется. Есть выше в конфиге ещё один
локейшн с регэкспами, но он ведь выше и потому должен срабатывать
раньше.

Причём, если я запрос повторяю, то картинка открывается нормально.

Переписал регэксп через именованные переменные:

location ~* "^/(?<phost>[a-z0-9\-\.]+)/(?<puri>.*)" {
proxy_pass http://$phost:80/$puri;
proxy_set_header Host $1;
proxy_set_header Referer "http://$phost/";
proxy_set_header X-Real-IP "";
proxy_set_header Cookie "";
proxy_ignore_headers X-Accel-Redirect X-Accel-Expires X-Accel-Limit-Rate X-Accel-Buffering X-Accel-Charset Expires Cache-Control Set-Cookie;

proxy_hide_header Location;
proxy_hide_header Set-Cookie;
proxy_hide_header WWW-Authenticate;

proxy_intercept_errors on;
error_page 301 302 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 422 423 424 425 426 449 500 501 502 503 504 505 506 507 509 510 = @zero;

proxy_temp_path /optcache3/proxy-tmp;
proxy_cache_key "$phost/$puri";
proxy_cache optcache3;

image_filter test;
image_filter_buffer 10M;

}

location / {
return 403;
}

location @zero {
return 204;
}

Проблема пропала. На более ранних версиях nginx-а проблемы вроде не
было, хотя не уверен.


--
С уважением,
Михаил mailto:postmaster@softsearch.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Странности с регэкспами в локейшне

Михаил Монашёв January 17, 2013 09:00AM

Re: Странности с регэкспами в локейшне

Валентин Бартенев January 17, 2013 09:48AM

Re: Странности с регэкспами в локейшне

Валентин Бартенев January 17, 2013 09:50AM

Re[2]: Странности с регэкспами в локейшне

Михаил Монашёв January 17, 2013 11:14AM

Re: Странности с регэкспами в локейшне

Валентин Бартенев January 17, 2013 11:20AM

Re[2]: Странности с регэкспами в локейшне

Михаил Монашёв January 17, 2013 11:14AM

Re: Странности с регэкспами в локейшне

Peter Vereshagin January 18, 2013 04:26AM

Re[2]: Странности с регэкспами в локейшне

Михаил Монашёв January 18, 2013 04:30AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 212
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready