Назад | Перейти на главную страницу

HTTP-прокси - ожидайте 100 и аутентификацию

У меня проблема с Apache2, который я использую в качестве прокси. Мое программное обеспечение отправляет HTTP PUT для защищенного ресурса с

Expect: 100-continue

Transfer-Encoding: chunked

И вместо сообщения «401 неавторизовано» я получаю «100 продолжить». После этого мой софт отправляет все куски на сервер, и я получаю 401.

Похоже, Apache не пересылает заголовки и автоматически отправляет «100 Continue».

Это правильное поведение?

Вот что я нашел Вот

If a proxy receives a request that includes an Expect request-
    header field with the "100-continue" expectation, and the proxy
    either knows that the next-hop server complies with HTTP/1.1 or
    higher, or does not know the HTTP version of the next-hop
    server, it MUST forward the request, including the Expect header
    field

Этот вопрос уже задавался на stackoverflow.com ( https://stackoverflow.com/questions/3889574/apache-and-mod-proxy-not-handling-http-100-continue-from-client-http-417 ):

Вы можете настроить это так:

<IfModule mod_headers.c>
  RequestHeader unset Expect early
</IfModule>

Это удалит заголовок Expect, и связь должна работать.

РЕДАКТИРОВАТЬ Убедитесь, что удаленная сторона - это HTTP / 1.1. В том же RFC, на который вы ссылались, есть только одна страница после вашего цитирования:

  - If the proxy knows that the version of the next-hop server is
    HTTP/1.0 or lower, it MUST NOT forward the request, and it MUST
    respond with a 417 (Expectation Failed) status.