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
curluż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 Continueodpowiedź 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
401odpowiedź.
* 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_httpod używania
100 Continuekod i poczekaj
401kod 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>
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
0 odpowiedzi