ПРОЕКТЫ 


  АРХИВ 


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



On 11.01.2014 2:17, Валентин Бартенев wrote:

Подводя итог, не надо вырывать отдельные фразы из RFC и пытаться их
интерпретировать в свою пользу.

Когда nginx выступает в роли клиента, он пытается соблюдать соответствующие
требования спецификации и делает это неплохо.  Аналогично в роли сервера.

Что происходит между - зависит от настроек.

Спецификация на протокол HTTP, очевидно, не специфицирует настоек nginx'а,
и попытки её за уши к этому притянуть - бесполезны.

http://tools.ietf.org/search/rfc2616#section-5.2

5.2 The Resource Identified by a Request
...
   An origin server that does differentiate resources based on the host
   requested (sometimes referred to as virtual hosts or vanity host
   names) MUST use the following rules for determining the requested
   resource on an HTTP/1.1 request:

   1. If Request-URI is an absoluteURI, the host is part of the
     Request-URI. Any Host header field value in the request MUST be
     ignored.

================================

Это требование RFC 2616 не выполняется.

Вместо того чтобы игнорировать Host header field value
nginx передает его на backend в качестве имени хоста.

Вместо требуемого RFC "host is part of the Request-URI"

и вот еще:

http://tools.ietf.org/search/rfc3875#section-3.1

3.1.  Server Responsibilities

   The server acts as an application gateway.  It receives the request
   from the client, selects a CGI script to handle the request, converts
   the client request to a CGI request, executes the script and converts
   the CGI response into a response for the client.

Вот это требование RFC 3875 не выполняется.

Вместо того, чтобы корректно сконвертировать запрос от клиента
в CGI запрос - nginx использует при формировании запроса к клиенту
то значение из заголовка Host:, которое согласно требований RFC 2616
он MUST проигнорировать и вместо него MUST использовать host part of the absolute Request-URI.

дополнительная информация:

http://tools.ietf.org/search/rfc2616#section-19.6.1.1

--
Best regards,
 Gena

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


 




Copyright © Lexa Software, 1996-2009.