monit: no se puede conectar a la interfaz http

8

Estoy configurando monit en un nuevo sitio, al que me referiré como mywebsite.com durante esta pregunta. He configurado la configuración para acceder a la página de interfaz web de monit, pero no puedo conectarme a ella. Tengo un firewall básico ejecutándose con iptables, y creo que he hecho un hueco para monit, pero no puedo conectarme a la interfaz web de monit, y no sé por qué.

Todavía no he configurado nada para monitorear: mi configuración de monit se ve así:

## Start monit in the background (run as a daemon):
set daemon  120           # check services at 2-minute intervals

set httpd port 2812 and
  use address mywebsite.com  
  allow localhost      
  allow admin:password

He reiniciado monit con estas reglas.

He hecho una regla para monit en mi configuración de iptables, que se ve así:

#monit interface
-A OUTPUT -p tcp --dport 2812 -j ACCEPT
-A INPUT -p tcp --dport 2812 -j ACCEPT

Luego importé estas reglas /sbin/iptables-restore. Puedo ver la entrada de monit cuando hago sudo /sbin/iptables -L:

...
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2812 
...

Pero, cuando voy, http://mywebsite.com:2812me meto Error code: ERR_EMPTY_RESPONSEen el navegador.

¿Alguna idea, alguien? Ni siquiera sé si el problema tiene algo que ver con iptables. Gracias de antemano, Max

EDITAR: intenté cambiar la línea 'localhost' en la configuración de monit así:

set httpd port 2812 and
  use address mywebsite.com  
  allow mywebsite.com      
  allow admin:password

Pero no hizo ninguna diferencia.

Max Williams
fuente
Parece que solo permites localhost. Debes permitir tus subredes.
krisFR
gracias - vea editar, ¿es esto lo que quiere decir con "permitir sus subredes"?
Max Williams

Respuestas:

14

Para acceder a Monit desde nerwork externo, solo configure:

Para ninguna autenticación y acceso desde todas partes:

set httpd port 2812

Para acceder desde cualquier lugar con autenticación:

set httpd port 2812
   allow <auth_user>:<auth_password>

En su caso, elimine el andal final de la líneaset httpd port 2812 and

Nota : Si está probando la configuración con la contraseña establecida como "contraseña", recibirá este error:

Error: syntax error 'password'
krisFR
fuente
1
eso funcionó, ¡gracias! La parte "y" vino de este sitio - tecmint.com/… - ¿es eso quizás de una versión anterior de monit, que tenía una sintaxis de configuración diferente?
Max Williams
1
No, eso se debe a que en este tutorial siempre tratan con localhost. No explican cómo acceder desde el host local externo (mire la url en su pantalla de impresión)
krisFR
Esto me ayudó mucho y me encanta monit
Cesar Bielich
Sospecho que debe especificar al menos uno entre las directivas allowy credentials. Ver serverfault.com/a/900823/459872
Davide Cavestro
solo configurar el puerto httpd 2812 sin permiso ya no funciona. monit: monit httpd no se inició ya que no se permiten conexiones
roothahn