monit: impossible de se connecter à l'interface http


8

J'installe monit sur un nouveau site, que j'appellerai mywebsite.com lors de cette question. J'ai configuré la configuration pour accéder à la page d'interface Web de monit, mais je ne peux pas me connecter. J'ai un pare-feu de base fonctionnant avec iptables, et je pense que j'ai fait un trou pour monit, mais je ne peux pas me connecter à l'interface Web de monit, et je ne sais pas pourquoi.

Je n'ai encore rien configuré à surveiller: ma configuration monit ressemble à ceci:

## 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

J'ai redémarré monit avec ces règles.

J'ai fait une règle pour monit dans ma configuration iptables, qui ressemble à ceci:

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

J'ai ensuite importé ces règles dans /sbin/iptables-restore. Je peux voir l'entrée monit quand je le fais sudo /sbin/iptables -L:

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

Mais, quand je vais - http://mywebsite.com:2812je obtenir Error code: ERR_EMPTY_RESPONSEdans le navigateur.

Des idées, quelqu'un? Je ne sais même pas si le problème est lié à iptables. Merci d'avance, Max

EDIT: J'ai essayé de changer la ligne 'localhost' dans la configuration monit ainsi:

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

mais cela n'a fait aucune différence.


Il semble que vous n'autorisez que localhost. Vous devez autoriser vos sous-réseaux.
— krisFR

merci - voir modifier, est-ce ce que vous vouliez dire par "autoriser vos sous-réseaux"?
— Max Williams

Réponses:


15

Pour accéder à Monit depuis un réseau externe, définissez simplement:

Pour aucune authentification et accès de partout:

set httpd port 2812

Pour un accès de partout avec authentification:

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

Dans votre cas, supprimez le andà la fin de la ligneset httpd port 2812 and

Remarque : Si vous testez la configuration avec un mot de passe défini comme "mot de passe", vous recevrez cette erreur:

Error: syntax error 'password'

1
cela a fonctionné - merci! La partie "et" provient de ce site - tecmint.com/… - est-ce peut-être une version plus ancienne de monit, qui avait une syntaxe de configuration différente?
— Max Williams

1
Non, c'est parce que dans ce tutoriel, ils traitent toujours avec localhost. Ils n'expliquent pas comment accéder depuis l'extérieur de l'hôte local (regardez l'url sur leur écran d'impression)
— krisFR

Cela m'a aidé une tonne et j'aime monit
— Cesar Bielich

Je suppose que vous devez spécifier au moins une entre les directives allowet credentials. Voir serverfault.com/a/900823/459872
— Davide Cavestro

le simple fait de définir le port httpd 2812 sans autorisation ne fonctionne plus. monit: monit httpd n'a pas démarré car aucune connexion n'est autorisée
— roothahn
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.