Estou tentando implementar uma passagem de proxy segura com balanceamento de carga usando o HAProxy. Basicamente o que eu quero fazer é isto:
request ----> haproxy passthrough -----> multiple proxy servers -----> target
Agora, eu não queria que isso fosse aberto ao público, então adicionei a autenticação HTTP básica para as solicitações HTTP. Está funcionando bem e solicitações não autorizadas estão sendo negadas.
No entanto, não consegui fazer o mesmo para solicitações HTTPS, e todas elas passam sem nenhuma segurança ou limitação.
Por favor, note que o uso de uma limitação ip de origem não é uma possibilidade, uma vez que o pedido pode vir de uma variedade de fontes.
Aqui está o meu arquivo haproxy.cfg:
global
log /dev/log local0
log 127.0.0.1 local1 notice
maxconn 4096
user haproxy
group haproxy
daemon
defaults
log global
mode http
option dontlognull
retries 3
option redispatch
maxconn 2000
contimeout 5000
clitimeout 50000
srvtimeout 50000
userlist L1
user john insecure-password doedoe
listen webproxies 0.0.0.0:3128
bind *:3128
mode http
option httplog
stats enable
stats uri /haproxy?stats
balance roundrobin
option httpclose
option forwardfor
server proxy01 [proxy_ip_1]:[port] check
server proxy02 [proxy_ip_2]:[port] check
acl auth_ok http_auth(L1)
http-request auth unless auth_ok
userlist L2
user johnhttps insecure-password doedoe
listen webproxiesHttps 0.0.0.0:3129
mode tcp
bind *:3129
balance roundrobin
server proxy01 [proxy_ip_1]:[port] check
server proxy02 [proxy_ip_2]:[port] check
acl auth_ok_https http_auth(L2)
http-request auth unless auth_ok_https
Nota: [proxy_ip_1]: [porta] e [proxy_ip_2]: [porta] são geralmente os IPs reais.
Qualquer ideia é bem vinda!
Obrigado