Docs
Instalación

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
RequiereUn dominio, Nginx o Apache en el servidor principal, el puerto 80 accesible desde internetUn certificado y una clave privada en formato PEM
CertificadoGratuito, emitido y renovado automáticamente por certbotEl suyo, por ejemplo un certificado de origen de Cloudflare gratuito
Dirección del panelhttps://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.com

Use 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:

  1. crea el proxy inverso en Nginx (/etc/nginx/conf.d/3rmonitor.conf) o Apache (/etc/apache2/sites-available/3rmonitor.conf o /etc/httpd/conf.d/3rmonitor.conf);
  2. instala certbot y su complemento para Nginx o Apache si hace falta (apt, dnf o yum);
  3. obtiene un certificado gratuito de Let's Encrypt para el dominio. certbot lo renueva automáticamente; --email es opcional y recibe los avisos de vencimiento;
  4. 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.key

El 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-master

Despué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:443 solo si ningún servidor web ocupa el puerto 443.
  • Sin tls_listen, el propio puerto listen pasa a HTTPS (el comportamiento de las versiones anteriores a 1.0.4). Entonces los agentes deben usar https:// en master_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 configure insecure = true en los agentes.

Qué pasa con las direcciones http://

  • Cuando la URL del panel en Configuración es https://, abrir http:// en el mismo dominio redirige el navegador a https://. El proxy inverso debe enviar X-Forwarded-Proto; la configuración de Nginx y Apache creada por install.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ón https://.
  • 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.

En esta página