HTTPS
Sirva el panel por HTTPS con un certificado gratuito de Let's Encrypt, o con su propio certificado en el servidor principal.
Use HTTPS para el panel siempre que sea accesible desde internet. Con un panel http://, los navegadores muestran la advertencia "No seguro" en cada visita, y las contraseñas y las cookies de sesión viajan por la red en texto claro. El modo pantalla también necesita HTTPS para mantener la pantalla encendida, y las llaves de acceso, que firman las reparaciones de IA que usted aprueba, solo funcionan por HTTPS.
Hay dos formas de hacerlo:
Opción 1: Let's Encrypt (--https) | Opción 2: el servidor principal sirve HTTPS directamente | |
|---|---|---|
| Requiere | Un dominio, Nginx o Apache en el servidor principal, el puerto 80 accesible desde internet | Un certificado y una clave privada en formato PEM |
| Certificado | Gratuito, emitido y renovado automáticamente por certbot | El suyo, por ejemplo un certificado de origen de Cloudflare gratuito |
| Dirección del panel | https://monitor.example.com/ | https://monitor.example.com:8443/ (u otro puerto) |
Opción 1: certificado gratuito de Let's Encrypt
Ejecute desde el directorio del paquete de distribución:
sudo bash install.sh master --domain monitor.example.com --https --email usted@example.comUse both en lugar de master si este servidor también ejecuta el agente. En una instalación existente se conservan las cuentas, la configuración y los datos.
El instalador:
- crea el proxy inverso en Nginx (
/etc/nginx/conf.d/3rmonitor.conf) o Apache (/etc/apache2/sites-available/3rmonitor.confo/etc/httpd/conf.d/3rmonitor.conf); - instala certbot y su complemento para Nginx o Apache si hace falta (apt, dnf o yum);
- obtiene un certificado gratuito de Let's Encrypt para el dominio. certbot lo renueva automáticamente;
--emailes opcional y recibe los avisos de vencimiento; - cambia la URL del panel a
https://monitor.example.com/, salvo que haya indicado--public-url.
Antes de ejecutarlo: Nginx o Apache está instalado, el DNS del dominio apunta a este servidor y el puerto 80 es accesible desde internet.
Detrás del proxy de Cloudflare
Con el proxy de Cloudflare activado (nube naranja), cambie el registro DNS a "Solo DNS" (DNS only) mientras se emite el certificado, o use la opción 2.
En una instalación nueva puede agregar --listen 127.0.0.1, para que el puerto 8899 no quede expuesto y el panel solo sea accesible a través del proxy. No lo haga si hay agentes en otros servidores que reportan a http://IP:8899: dejarían de llegar al servidor principal. (El agente del propio servidor principal reporta a 127.0.0.1 y no se ve afectado).
Opción 2: el servidor principal sirve HTTPS directamente
Indique en /etc/3rmonitor/master.conf las rutas de un certificado y una clave privada en formato PEM, y asigne a HTTPS su propio puerto con tls_listen. Un certificado de origen de Cloudflare (Origin Certificate) gratuito funciona bien: en Cloudflare, vaya a SSL/TLS → Servidor de origen, cree el certificado y luego configure el modo SSL/TLS como Completo (estricto) / Full (strict).
listen = 0.0.0.0:8899
tls_listen = 0.0.0.0:8443
tls_cert = /etc/3rmonitor/origin.pem
tls_key = /etc/3rmonitor/origin.keyEl puerto 8899 sigue sirviendo HTTP, así que los agentes que reportan a http://…:8899, incluido el agente del propio servidor principal, siguen funcionando.
El usuario 3rmonitor debe poder leer los archivos:
sudo chgrp 3rmonitor /etc/3rmonitor/origin.pem /etc/3rmonitor/origin.key
sudo chmod 640 /etc/3rmonitor/origin.pem /etc/3rmonitor/origin.key
sudo systemctl restart 3rmonitor-masterDespués indique la dirección https:// en Configuración → General → Dirección pública del panel, por ejemplo https://monitor.example.com:8443/, y abra el puerto en el firewall.
- Cloudflare solo hace de proxy HTTPS en algunos puertos (443, 2053, 2083, 2087, 2096 y 8443); por eso el ejemplo usa 8443. Use
tls_listen = 0.0.0.0:443solo si ningún servidor web ocupa el puerto 443. - Sin
tls_listen, el propio puertolistenpasa a HTTPS (el comportamiento de las versiones anteriores a 1.0.4). Entonces los agentes deben usarhttps://enmaster_url(/etc/3rmonitor/agent.conf). Un certificado de origen de Cloudflare solo es de confianza para Cloudflare, así que use la dirección que pasa por Cloudflare, o configureinsecure = trueen los agentes.
Qué pasa con las direcciones http://
- Cuando la URL del panel en Configuración es
https://, abrirhttp://en el mismo dominio redirige el navegador ahttps://. El proxy inverso debe enviarX-Forwarded-Proto; la configuración de Nginx y Apache creada porinstall.sh, y Cloudflare, lo hacen. - Los agentes que siguen reportando a la dirección
http://continúan funcionando: sus reportes no se redirigen. No necesita modificarlos después de la opción 1. Los comandos de instalación nuevos del panel usan la direcciónhttps://. - Abrir el panel por IP (
http://IP:8899) nunca se redirige, y ahí también se puede iniciar sesión: las cookies de inicio de sesión se marcan como Secure solo en las solicitudes HTTPS.
Consulte también los consejos para Cloudflare.