Avem haproxy în vigoare pentru a efectua TLS bidirecțional (reciproc) pentru conexiunile TCP printr-un proxy SOCKS. Aceasta este configurația:
client --> haproxy --> socks proxy (gateway) --> Internet --> server
Aceasta este configurația haproxy:
global
log stdout format iso local7 debug
implicite
jurnal global
modul tcp
opțiunea tcplog
maxconn 10
timeout connect 5000
timeout client 50000
server timeout 50000
opțiunea tcp-check
asculta ssl-over-socks-1080
lega 0.0.0.0:1080
server ssl_over_socks example.com:10000 ssl crt /cert/client.pem ca-file /cert/server.pem verificați șosetele necesare4 1.2.3.4:1080 verificați inter 30000 fastinter 1000
Această configurare funcționează bine pentru proxy TCP+TLS peste SOCKS.
Acum vrem să configuram haproxy pentru a face HTTP+TLS peste proxy HTTP:
client --> haproxy --> http proxy (gateway) --> Internet --> server
Configurația în prezent arată astfel:
global
log stdout format iso local7 debug
implicite
jurnal global
modul http
opțiunea httplog
maxconn 10
timeout connect 5000
timeout client 50000
server timeout 50000
opțiunea tcp-check
asculta ssl-over-proxy-1080
lega 0.0.0.0:1080
server ssl_over_http example.com:20000 ssl crt /cert/client.pem ca-file /cert/server.pem verifica socks4 1.2.3.4:8080 verifica check-via-socks4 inter 30000 fastinter 1000
Primim următorul rezultat de la haproxy:
Serverul ssl-over-proxy-1080/ssl_over_http este DOWN, motiv: răspunsul Layer6 nevalid, informații: „SOCKS4 Proxy deny the request the initial connection step of tcp-check”, durata verificării: 3ms. Au rămas 0 servere active și 0 de rezervă. 0 sesiuni active, 0 în coadă, 0 rămase în coadă.
Văd că parametrul socks4 din configurație ar putea fi greșit. Cu toate acestea, nu am putut găsi echivalentul parametrului socks4 pentru conexiunile HTTP în documentația haproxy.
Cu Apache httpd ne-am putea configura următoarea:
ProxyRemote „*” https://1.2.3.4:8080
ProxyPass / https://example.com:20000
Cum putem configura haproxy pentru a trece cererea http printr-un alt proxy http?