
En un servidor con solo un ipv4 y ejecutando haproxy, quiero redirigir una URL y representar otra en el nivel TCP, para fines de paso de 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 }
Pero el prefijo de redirección requiere el modo http y el paso de proxy requiere el modo tcp.
[WARNING] 347/153600 (1324) : config : 'redirect' rules ignored for frontend 'https-frontend' as they require HTTP mode.
Si uso dos interfaces vinculantes en 443, se producen errores al cargar páginas.
¿Cómo puedo proceder?
EDITAR
Intenté hacer un backend http para la redirección
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 }
Pero cuando voy a domain-for-redirect.com obtengo ERR_SSL_PROTOCOL_ERROR. ¿Cómo puedo cargar el certificado en el backend?
Respuesta1
debe agregar la opción ssl con un certificado ssl válido o autofirmado: en su lugar: bind *:443 use: bind *:443 ssl crt /etc/ssl/private/certFileName.pem