У меня проблема с 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.