Command Center (Metaconsole) avec proxy inverse
Cet article utilise CentOS 6, un système d'exploitation qui a atteint sa fin de vie (End-of-life product).
Introduction
Supposons que Pandora FMS fournisse des services à des clients qui n'ont qu'un accès direct au centre de commande (Metaconsole), qui est le seul à fonctionner vers l'extérieur avec son IP publique, et qu'ils n'aient pas d'accès direct aux nœuds situés en dessous. C'est le scénario proposé à ce stade.
Command Center (Metaconsole) :
Hostname: meta.es
, 79.151.30.102 (Adresse IP publique), 192.168.1.10 (Adresse IP privée).
Chemin d'accès au centre de commande de Pandora FMS (Metaconsole) :
http://meta.es/pandora_console
URL publique :
http://meta.es/pandora_console
Node 1 :
Hostname : node1.es, 192.168.1.11 (Adresse IP privée).
Pandora FMS node1 path :
http://node1.es/pandora_console
URL publique :
http://meta.es/node1
Node 2 :
Hostname : node2.es, 192.168.1.12 (Adresse IP privée).
Pandora FMS node2 path :
http://node2.es/pandora_console
URL publique :
http://meta.es/node2
Node 3 :
Hostname : node3.es, 192.168.1.13 (Adresse IP privée).
Pandora FMS node1 path :
http://node1.es/pandora_console
URL publique :
http://meta.es/node1
Le client devra avoir accès à tous les nœuds par l'intermédiaire du Command Center (Metaconsole), mais il ne le peut pas au départ, car ces nœuds ont des adresses IP internes et il n'y a pas de connectivité avec eux depuis l'extérieur. Pour ce faire, le module mod_proxy est activé dans apache du Command Center (Metaconsole) afin qu'il ait un accès direct à tous les nœuds. La configuration présentée est celle d'Apache 2.2 sous CentOS 6.7.
Configuration du centre de commande (Metaconsole)
Tout d'abord, nous devons ajouter dans le fichier /etc/hosts
toutes les adresses des différents nœuds :
127.0.0.1 meta.es 192.168.1.11 node1.es 192.168.1.12 node2.es 192.168.1.13 node3.es
Pour activer mod_proxy
sur le serveur Apache, ouvrez le fichier de configuration httpd.conf
et vérifiez d'abord que toutes ces lignes sont activées :
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_connect_module modules/mod_proxy_connect.so
Une fois cette opération effectuée, les lignes suivantes sont ajoutées au fichier httpd.conf
:
ProxyRequests Off ProxyPreserveHost On ProxyPass /node1 http://node1.es/pandora_console ProxyPassReverse /node1 http://node1.es/pandora_console ProxyPass /node2 http://node2.es/pandora_console ProxyPassReverse /node2 http://node2.es/pandora_console ProxyPass /node3 http://node3.es/pandora_console ProxyPassReverse /node3 http://node3.es/pandora_console
Nous indiquons ainsi que lorsque quelqu'un accède à l'application :
http://meta.es/node1
vous redirigera automatiquement vers :
http://node1.es/pandora_console
et ainsi de suite pour tous les nœuds. Si HTTPS est activé, vous devez ajouter la configuration suivante :
SSLEngine on SSLProxyEngine On SSLCertificateFile /etc/httpd/ssl/ca.crt SSLCertificateKeyFile /etc/httpd/ssl/ca.key ProxyRequests Off ProxyPreserveHost On ProxyPass /node1 https://node1.es/pandora_console ProxyPassReverse /node1 https://node1.es/pandora_console ProxyPass /node2 https://node2.es/pandora_console ProxyPassReverse /node2 https://node2.es/pandora_console ProxyPass /node3 https://node3.es/pandora_console ProxyPassReverse /node3 https://node3.es/pandora_console
Les certificats ca.key
et ca.crt
étant ceux utilisés par les serveurs Apache de node1, node2 et node3.
La dernière étape est la configuration du centre de commande (Metaconsole). Le seul paramètre que nous devons configurer de manière spécifique est :
Console URL : Nous indiquerons les URL publiques de chacun des nœuds qui correspondront au lien configuré dans le fichier httpd.conf
pour chacun des nœuds.
http://meta.es/node1 , http://meta.es/node2 , http://meta.es/node3
Une fois que le centre de commande (Metaconsole) a été configuré pour contacter les nœuds, l'étape suivante consiste à configurer chacun des nœuds.
Les liens varieront dans chaque cas si vous utilisez HTTPS au lieu de HTTP.
Configuration du nœud
La seule configuration spéciale qui doit être ajoutée à chacun des nœuds est l'URL publique dans la configuration de la console. Cette URL doit être configurée avec l'URL publique que vous avez indiquée dans chaque cas dans le scénario que nous avons établi au début. Exemple dans le nœud 1 :
Les liens varieront dans chaque cas si vous utilisez HTTPS au lieu de HTTP.