Re: proxy cache key и fastcgi cache key

Gena Makhomed gmm at csdoc.com
Sat Jan 11 11:18:13 UTC 2014


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