6 votes

HAProxy ne recharge pas automatiquement les DNS

J'ai installé HAProxy 1.7.5-2 sur une Debian Stretch (9) pour une infrastructure de déploiement bleu/vert.

HAProxy est configuré en mode TCP et recharge le DNS toutes les 5 secondes mais il ne le fait pas.

global
    log 127.0.0.1 local0 warning
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 10m
    user haproxy
    group haproxy
    daemon

# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private

# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
#  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
# An alternative list with additional directives can be obtained from
#  https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
ssl-default-bind-options no-sslv3

defaults
    log     global
    mode    tcp
    option  dontlognull
    timeout connect 360s
    timeout client  300s
    timeout server  300s
    retries         99999

resolvers aws-vpc-dns
    nameserver vpc     {DNSIP}:53
    resolve_retries    30
    timeout retry      1s
    hold valid         5s

frontend site-frontend
    bind *:80
    use_backend site-backend

backend site-backend
    balance roundrobin
    server company-www target.services.company.com resolvers aws-vpc-dns

listen blue-webapp-http
    bind :9000
    balance roundrobin
    server company-blue blue.services.company.com resolvers aws-vpc-dns

Lorsque je change l'enregistrement DNS en quelque chose d'autre, le fichier host sur le serveur HAProxy renvoie les nouvelles adresses correctement.

Recharger/redémarrer le service HAProxy est le seul moyen que j'ai trouvé pour l'instant.

Un indice sur ce qui pourrait être le problème ?

5voto

Sveatoslav Points 101

Le nom d'hôte utilisé pour server est résolu pendant haproxy au démarrage lorsque le fichier de configuration est analysé ou lors des contrôles de santé. Vous n'avez pas de contrôles définis pour votre server afin que vous puissiez obtenir le nom d'hôte mis à jour uniquement pendant le redémarrage/le rechargement. Si vous voulez server pour être mis à jour au moment de l'exécution, vous devez définir des contrôles de santé.

Voir la documentation HAProxy Résolution de l'adresse IP du serveur à l'aide du DNS pour les détails.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X