Quantcast
Channel: Nginx Forum
Viewing all articles
Browse latest Browse all 53287

Re: upstream keepalive + Host override : problem?

$
0
0
Hello!

On Mon, Apr 29, 2013 at 02:53:19PM +0400, Azarov Alexander wrote:

> Добрый день,
>
> Конфиг у меня выглядит вот так:
>
> upstream playapp {
> server …:9000;
> keepalive 16;
> }
>
> server {
> listen ... ssl;
> server_name …;
>
> proxy_set_header Host $server_name;
>
> location / {
> limit_conn byConn 14;
> limit_req zone=byReq burst=50;
>
> proxy_pass http://playapp;
> proxy_http_version 1.1;
> proxy_set_header Connection "";
> }
> }
>
> Проблема:
>
> 2013/04/29 14:19:02 [debug] 21900#0: *1013606439 http proxy header:
> "GET /pic/2034583 HTTP/1.1
> Host: playapp
> Cache-Control: max-age=0
> Pragma: no-cache
> Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31
>
> Т.е. на бэкенд уходит "Host: playapp" вместо "Host:
> $server_name". Если убрать proxy_http_version и proxy_set_header
> Connection, все нормализуется, бэкенд видит "Host: $server_name"

http://nginx.org/r/proxy_set_header/ru:

: Директивы наследуются с предыдущего уровня при условии, что на
: данном уровне не описаны свои директивы proxy_set_header.

Т.е. правильно будет написать так:

server {
...
proxy_set_header Host $server_name;

location / {
...
proxy_set_header Host $server_name;
proxy_set_header Connection "";
}
}

или так:

server {
...
proxy_set_header Host $server_name;
proxy_set_header Connection "";

location / {
...
}
}

--
Maxim Dounin
http://nginx.org/en/donation.html

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

Viewing all articles
Browse latest Browse all 53287

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>