$uri or $request_uri

Vadim Vatlin vvatlin at masterhost.ru
Thu Jan 22 18:57:56 MSK 2009


Здравствуйте.
есть такая проблема, когда для проксирования используем такую строку:
proxy_pass http://$backend$uri;

То если в $uri есть пробелы, nginx не проксирует нормально этот запрос 
на backend.
В результате получаем в error_log:
2009/01/22 17:44:27 [error] 68373#0: *53527596 upstream sent no valid 
HTTP/1.0 header while reading response header from upstream, client: 
217.19.211.110, server: <frontend>, request: "GET 
/file/801/woolly%20snowman.jpg HTTP/1.0",
upstream: "http://<backend>/file/801/woolly snowman.jpg", host: 
"www.megalanguage.ru", referrer: 
"http://www.megalanguage.ru/?gclid=CMP5ld60opgCFQ5NQgodVBNjmw"

GET запрос был с woolly%20snowman.jpg. А на backend был передан: woolly 
snowman.jpg.

Если же вместо $uri использовать $request_uri то все в порядке.

-- 
Vadim Vatlin
.masterhost






More information about the nginx-ru mailing list