Wymuś asynchroniczne wysyłanie odpowiedzi przez mod_proxy_http (brak 100 Kontynuuj)


Silnik serwletu (Jetty) działa za serwerem Apache Httpd, przekazywany za pomocą
       mod_proxy_http
... Spowoduje to uruchomienie małego serwletu, który akceptuje
       PUT
żądania i uwierzytelnione przy użyciu podstawowego uwierzytelniania HTTP (obsługiwane przez Jetty).
Bezpośredni (bez proxy)
       PUT
żądanie z
       curl
używając niewłaściwych danych uwierzytelniających do uwierzytelnienia, serwer zwraca kod stanu 401 zgodnie z oczekiwaniami:
curl -v -T testfile -u user:WRONG_PASSWORD [url=http://localhost:8080/myservlet/]http://localhost:8080/myservlet/[/url]

Powoduje to przerwanie żądań natychmiast po odebraniu kodu stanu, więc curl nie pobiera całej treści, ale zatrzymuje się wcześniej (
       HTTP error before end of send, stop sending
).
* About to connect() to localhost port 8080 (#0)
* Trying 127.0.0.1... connected
* Server auth using Basic with user 'user'
> PUT/myservlet/testfile HTTP/1.1
> Authorization: Basic xxxxxxxxxxxxxxxxx
> User-Agent: curl/7.22.0
> Host: localhost:8080
> Accept: */*
> Content-Length: 3672
> Expect: 100-continue
>
< HTTP/1.1 401 Unauthorized
< Date: xxxxxxxxxxxxxxxx
* Authentication problem. Ignoring this.
< WWW-Authenticate: basic realm="Test Realm"
< Content-Length: 0
< Server: Jetty(7.4.5.v20110725)
* HTTP error before end of send, stop sending
<
* Closing connection #0

Wręcz przeciwnie, kiedy jest z tyłu
       mod_proxy_http
, jest
       100 Continue
odpowiedź wysłana niemal natychmiast przez Apache Httpd, co curl interpretuje jako
       continue
, więc wysyła całe żądanie (
       We are completely uploaded and fine
), zanim w końcu to nastąpi
       401
odpowiedź.
*   Trying 127.0.0.1... connected
* Server auth using Basic with user 'user'
> PUT/myservlet/testfile HTTP/1.1
> Authorization: Basic xxxxxxxxxxxxxxxxx
> User-Agent: curl/7.22.0
> Host: localhost
> Accept: */*
> Content-Length: xxxxxx
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 401 Unauthorized
< Date: xxxxxxxxxxxxxxxx
< Server: Jetty(7.4.5.v20110725)
* Authentication problem. Ignoring this.
< WWW-Authenticate: basic realm="Test Realm"
< Content-Length: 0
< Via: 1.1 localhost
< Content-Type: xxxxxxxxxxxxxx
<
* Connection #0 to host localhost left intact
* Closing connection #0

Czy istnieje sposób, aby temu zapobiec
       mod_proxy_http
od używania
       100 Continue
kod i poczekaj
       401
kod statusu z serwera zaplecza przed wysłaniem pierwszej odpowiedzi?
Próbowałem podążać

następne zdanie z tego pytania
https://serverfault.com/a/302539/47187
ale to nie rozwiązało problemu (i tak nie był to ten sam problem):
   ProxyPass/myservlet/ [url=http://localhost:8080/myservlet/]http://localhost:8080/myservlet/[/url]
<Location/myservlet/>
RequestHeader unset Expect early
</Location>

Zaproszony:

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się