Skip to content

Wrong behavior when using HTTP proxy with --haproxy-protocol enabled #9442

@ginuerzh

Description

@ginuerzh

I did this

curl sends the proxy protocol header twice.

For HTTPS request:

curl -k -x localhost:8080 --haproxy-protocol https://localhost:8000

After connected to proxy server, it send the header immediately, followed by TLS client hello, but then it send the header again.

Screenshot from 2022-09-06 19-29-34

For HTTP request:

curl -k -v --proxytunnel -x localhost:8080 --haproxy-protocol http://localhost:8000

After connected to proxy server, it send two consecutive headers immediately.

Screenshot from 2022-09-06 19-33-07

curl/libcurl version

curl 7.85.0 (x86_64-pc-linux-gnu) libcurl/7.85.0 OpenSSL/1.1.1f zlib/1.2.11
Release-Date: 2022-08-31
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP UnixSockets

operating system

Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal

Linux ubuntu 5.15.0-46-generic #49~20.04.1-Ubuntu SMP Thu Aug 4 19:15:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions