Sí, puedes usar **Let's Encrypt** para generar certificados SSL gratuitos y configurarlos en **HAProxy** para tus distintos sitios. Aquí tienes un resumen de cómo hacerlo:

---

### 1️⃣ **Instalar Certbot en tu Servidor**

Certbot es la herramienta oficial de Let's Encrypt para generar certificados.

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install certbot -y
```

Si HAProxy está en la misma máquina donde se servirán los sitios, puedes usar **Certbot en modo standalone**.

---

### 2️⃣ **Generar Certificados para cada Dominio**

Ejecuta el siguiente comando para generar un certificado para tu dominio:

```bash
sudo certbot certonly --standalone -d ejemplo.com -d www.ejemplo.com
# Ejemplo:
sudo certbot certonly --standalone -d ai-reports.1.temporal.work -d www.ai-reports.1.temporal.work
```

Si tienes varios dominios en tu HAProxy, repite el comando para cada uno.

Esto generará los certificados en:

```
/etc/letsencrypt/live/ejemplo.com/fullchain.pem
/etc/letsencrypt/live/ejemplo.com/privkey.pem
```

---

### 3️⃣ **Combinar los Certificados para HAProxy**

HAProxy requiere que el certificado y la clave privada estén en un solo archivo. Usa este comando para combinarlos:

```bash
cat /etc/letsencrypt/live/ejemplo.com/fullchain.pem \
    /etc/letsencrypt/live/ejemplo.com/privkey.pem > \
    /etc/haproxy/certs/ejemplo.com.pem
```

Repite esto para cada dominio y asegúrate de que HAProxy pueda leer los archivos:

```bash
sudo chmod 600 /etc/haproxy/certs/*.pem
```

---

### 4️⃣ **Configurar HAProxy para HTTPS**

Edita el archivo de configuración de HAProxy (generalmente en `/etc/haproxy/haproxy.cfg`) y agrega la configuración SSL para cada dominio:

```haproxy
frontend https_front
    bind *:443 ssl crt /etc/haproxy/certs/ejemplo.com.pem crt /etc/haproxy/certs/
    mode http
    use_backend backend_ejemplo if { hdr(host) -i ejemplo.com }

backend backend_ejemplo
    server srv1 192.168.1.100:80 check
```

Esto permite que HAProxy seleccione el certificado correcto según el **hostname** de la solicitud.

---

### 5️⃣ **Renovación Automática**

Let's Encrypt requiere renovar los certificados cada 90 días. Configura una tarea en **cron** para renovar y actualizar los archivos automáticamente:

Edita el crontab:

```bash
sudo crontab -e
```

Añade esta línea:

```bash
0 3 * * * certbot renew --quiet && systemctl reload haproxy
```

Esto intentará renovar los certificados diariamente a las **3 AM** y recargará HAProxy si hay cambios.

---

### ✅ **Conclusión**

Con esto, HAProxy gestionará múltiples sitios con SSL gratuito de Let's Encrypt. Cada dominio tendrá su propio certificado y la renovación será automática. 🚀

Si necesitas ayuda con algún paso, dime cómo tienes configurado tu HAProxy y lo ajustamos. 😃