Obliger mod_proxy_http Envoyer une réponse asynchrone (sans pour autant 100 Continue)
Mécanisme de servollets (Jetty) Fonctionne pour le serveur Apache Httpd, Transféré en utilisant
. Il lance un petit servlet qui prend
Demandes et authentifié à l'aide de l'authentification de base HTTP (traité par B. Jetty).
Avec droit (sans proxy)
Demande S.
, Utilisation d'informations d'identification incorrectes pour l'authentification, le serveur renvoie le code d'état. 401, comme prévu:
Cela interrompt les demandes, dès que le code d'état est obtenu, de sorte que curl ne charge pas tout le corps et s'arrête avant (
).
Au contraire, quand derrière
, il y a
Réponse envoyée presque immédiatement Apache Httpd, lequel à curl Interprète comme
, alors il envoie toute la demande (
) avant qu'il obtiennent finalement
répondre.
Y a-t-il un moyen d'empêcher
D'utilisation
code et faites-le attendre
Code d'état d'un serveur interne avant d'envoyer la première réponse?
J'ai essayé de suivre
https://serverfault.com/a/302539/47187
, Mais cela n'a pas résolu le problème (En tout cas, ce n'était pas le même problème.):
mod_proxy_http
. Il lance un petit servlet qui prend
PUT
Demandes et authentifié à l'aide de l'authentification de base HTTP (traité par B. Jetty).
Avec droit (sans proxy)
PUT
Demande S.
curl
, Utilisation d'informations d'identification incorrectes pour l'authentification, le serveur renvoie le code d'état. 401, comme prévu:
curl -v -T testfile -u user:WRONG_PASSWORD [url=http://localhost:8080/myservlet/]http://localhost:8080/myservlet/[/url]
Cela interrompt les demandes, dès que le code d'état est obtenu, de sorte que curl ne charge pas tout le corps et s'arrête avant (
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
Au contraire, quand derrière
mod_proxy_http
, il y a
100 Continue
Réponse envoyée presque immédiatement Apache Httpd, lequel à curl Interprète comme
continue
, alors il envoie toute la demande (
We are completely uploaded and fine
) avant qu'il obtiennent finalement
401
répondre.
* 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
Y a-t-il un moyen d'empêcher
mod_proxy_http
D'utilisation
100 Continue
code et faites-le attendre
401
Code d'état d'un serveur interne avant d'envoyer la première réponse?
J'ai essayé de suivre
https://serverfault.com/a/302539/47187
, Mais cela n'a pas résolu le problème (En tout cas, ce n'était pas le même problème.):
ProxyPass /myservlet/ [url=http://localhost:8080/myservlet/]http://localhost:8080/myservlet/[/url]
<location myservlet=""></location>
RequestHeader unset Expect early
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
0 réponses