
Em um servidor com apenas um ipv4 e executando haproxy, quero redirecionar uma url e proxy para outra no nível TCP, para fins de passagem SSL.
frontend https-frontend
bind *:443
mode tcp
option tcplog
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
use_backend proxy-backend if { req.ssl_sni -i proxied-url.com }
redirect prefix https://url-rewrited.com code 301 if { req.ssl_sni -i domain-for-redirect.com }
Mas o prefixo de redirecionamento requer o modo http e a passagem do proxy requer o modo tcp.
[WARNING] 347/153600 (1324) : config : 'redirect' rules ignored for frontend 'https-frontend' as they require HTTP mode.
Se eu usar ligação de dois frontends em 443, ocorrerão erros ao carregar páginas.
Como posso proceder?
EDITAR
Tentei fazer um backend http para redirecionamento
frontend https-frontend
bind *:443
mode tcp
option tcplog
tcp-request inspect-delay 5s
tcp-request content accept if { req_ssl_hello_type 1 }
use_backend proxy-backend if { req.ssl_sni -i proxied-url.com }
use_backend redirect-backend if { req.ssl_sni -i domain-for-redirect.com }
backend redirect-backend
mode http
option ssl-hello-chk
redirect prefix https://url-rewrited.com code 301 if { req.ssl_sni -i domain-for-redirect.com }
Mas quando vou para domain-for-redirect.com recebo ERR_SSL_PROTOCOL_ERROR. Como posso carregar o certificado no backend?
Responder1
você precisa adicionar a opção SSL com certificado SSL válido ou autoassinado: em vez disso: bind *:443 use: bind *:443 ssl crt /etc/ssl/private/certFileName.pem