Hello! On Thu, Jan 09, 2014 at 03:57:19PM +0200, Gena Makhomed wrote:
> On 09.01.2014 14:10, Maxim Dounin wrote: [...] > >Смысл значения по умолчанию для proxy_cache_key состоит в том, что > >идентифицируется тот ресурс, куда осуществялется проксирование. > > >Тем самым, если в разных виртуальных серверах проксирование > >осуществляется в одно и то же место - будет использован один и тот > >же элемент кеша. > > так ведь именно в этом и состоит суть проблемы. в разных виртуальных > серверах проксирование обычно осуществляется на один и тот же > backend/upstream, и для *разных* виртуальных серверов будет > использован один и тот же элемент кеша $scheme$XXX$request_uri. > > при proxy_pass http://127.0.0.1:80/ в $proxy_host окажется 127.0.0.1 > аналогично, и в случае fastcgi_cache_key localhost:9000$request_uri; > > - запросы к разным virtual host`ам будут попадать в один и тот же > элемент кеша, и nginx не будет различать *разные* virtual host`ы. > > возможно имеет смысл дефолтовые настройки сделать такими, > чтобы они были безопасными по-умолчанию для всех пользователей? > т.е. $host вместо $proxy_host ? В запросах на бекенд по умолчанию в заголовке Host передаётся именно $proxy_host, и значение proxy_cache_key соответсвует тому, что происходит по умолчанию. Т.е. по умолчанию - всё безопасно. Если же говорить о том, что может быть достугнуто с помощью худождественного выпиливания по конфигу без понимания происходящего - то вывод "Мы все умрём" никто не отменял. [...] > кстати, аналогичный вопрос касается и дефолтового значнеия proxy_set_header > - http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header > > syntax: proxy_set_header field value; > default: proxy_set_header Host $proxy_host; > proxy_set_header Connection close; > > хотя ниже идет рекомендация делать proxy_set_header Host $host; > почему бы не сделать $host значением по-умолчанию? Ниже говорится о том, что если хочется передать на бекенд значение Host'а из запроса, то этом можно сделать с помощью $http_host, но лучше - с помощью $host (и объясняется, почему). [...] -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
