doc HTTP/1.1 100 Continue déportée dans HowtoHTTP

This commit is contained in:
Gregory Colpart 2023-09-28 09:26:05 +02:00
parent ef308b0788
commit 2935adc02e

View file

@ -1035,26 +1035,7 @@ tcp-check expect rstring HTTP/1\..\ 200 comment check\ HTTP\ response
### HTTP 100 CONTINUE
Le protocole HTTP définit une utilisation spécifique pour l'envoi « décalé » d'un gros payload.
Par exemple un client va envoyer un :
~~~
POST /callback
Content-Type: application/pdf
Content-Length: 123456
Expect: 100-continue
~~~
Le serveur va alors lui répondre `HTTP/1.1 100 Continue` et ensuite seulement le client enverra le contenu du PDF puis le serveur enverra la réponse finale `HTTP/1.1 200 OK`.
Plus d'infos sur :
* <https://http.dev/100>
* <https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100>
HAProxy doit bien retransmettre ces différences, or nous avons constaté qu'avec HAProxy 1.8, il ne retransmet pas la réponse `HTTP/1.1 100 Continue` au client [comme signalé ici](https://github.com/haproxy/haproxy/issues/1321)
provoquant un timeout et une erreur 502 renvoyée par HAProxy (debug complexe par manque de log).
Dans le cas de l'utilisation spécifique de `HTTP 100 CONTINUE`, cf [HowtoHTTP#http1.1-100-continue]() nous avons constaté qu'avec HAProxy 1.8, il ne retransmet pas la réponse `HTTP/1.1 100 Continue` au client [comme signalé ici](https://github.com/haproxy/haproxy/issues/1321) provoquant un timeout et une erreur 502 renvoyée par HAProxy (debug complexe par manque de log).
Solution pour contourner : passer en version supérieure (par exemple HAProxy 2.4)