ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: proxy cache key и fastcgi cache key


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: proxy cache key и fastcgi cache key
  • From: "S.A.N" <nginx-forum@xxxxxxxx>
  • Date: Fri, 10 Jan 2014 19:40:07 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=5y/wxtkq08BZaQkywdv+hhhfQE5v9IUVqvF/PbklS5U=; b=XwG1LzDsGS2HAzYYEjHWTrL/BRcwfRwU7+KHdsFNCoP5/2FhtM3ccHqX3Ib/bUBdWws1dozwG4VMZWf1JC/37hGs48cCZIQqVhMklPRXbYRi+f5neKRuyyiDp1MPRs+tW1WX8JsTeVCggb+45Hi0rePQTneXTWE2dVA4Lv10buM=;
  • In-reply-to: <2025921.4jlt7fzs4I@vbart-laptop>
  • References: <2025921.4jlt7fzs4I@vbart-laptop>

> Ровным счетом так nginx и поступает, если передан absoluteURI, то
> виртуальный
> сервер определяется по нему, а заголовок Host игнорируется.

Ровным счетом так же должен поступать и бекенд, игнорировать заголовок Host,
если передан absoluteURI.
Но дело в том что бекенд не получает, raw запрос с absoluteURI, именно по
этой причине бекенду необходимо передать, то значения HTTP_HOST, которое
использовал Nginx для определения вирт хоста.
В противном случаи возможны коллизии, приведу примеры.

На одном хостинге, хостятся два конкурирующих электронных магазина,
например: apple-shop.com и samsung-shop.com, в котором используется Nginx
кеширования.
Для каждого вирт хоста прописан proxy_cache_key $proxy_host$request_uri.

Теперь делаем запрос
GET http://apple-shop.com/ HTTP/1.1
Host: samsung-shop.com

В результате чего, ответ бекенда сохранится в кеше Nginx с ключом "
samsung-shop.com/" но содержать внутри будет страницу apple-shop.com/. 
На все последующие запросы samsung-shop.com будет отдаваться страница с
товарами Apple, так как внутри кеш файла с ключом "samsung-shop.com/" будет
страница хоста apple-shop.com.

И так будут работать бекенды на любом языке программирования не только на
РНР, те самые правильные программисты которых не расстреляли, будут в
недоумения, что они сделали не так, вить все же сделано в точности как
написано в официал документации Nginx :)

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,246086,246271#msg-246271

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


 




Copyright © Lexa Software, 1996-2009.