diff --git a/templates/hap_backend.tpl b/templates/hap_backend.tpl index 925f3e7..6b19e48 100644 --- a/templates/hap_backend.tpl +++ b/templates/hap_backend.tpl @@ -11,7 +11,7 @@ backend {{ name }}-backend http-request set-header X-Forwarded-Proto http if !{ ssl_fc } {% for server in servers %} - server {{ server.server_name }} {{ server.server_address }}:{{ server.server_port }} {{ server.server_options }} + server {{ server.server_name }} {{ server.server_address }}:{{ server.server_port }} {{ server.server_options }} resolvers docker_dns init-addr last,libc,none {% endfor %} # SSE-specific backend - optimized for Server-Sent Events long-lived connections @@ -36,5 +36,5 @@ backend {{ name }}-sse-backend http-request set-header X-Forwarded-Proto http if !{ ssl_fc } {% for server in servers %} - server {{ server.server_name }} {{ server.server_address }}:{{ server.server_port }} {{ server.server_options }} + server {{ server.server_name }} {{ server.server_address }}:{{ server.server_port }} {{ server.server_options }} resolvers docker_dns init-addr last,libc,none {% endfor %} diff --git a/templates/hap_header.tpl b/templates/hap_header.tpl index bfe0333..f0c5414 100644 --- a/templates/hap_header.tpl +++ b/templates/hap_header.tpl @@ -18,6 +18,21 @@ global log 127.0.0.1 local2 chroot /var/lib/haproxy + +# DNS resolver for Docker container name resolution +# Re-resolves backend server addresses so container IP changes +# (from restarts, recreations, scaling) are picked up automatically +resolvers docker_dns + nameserver dns1 127.0.0.11:53 + resolve_retries 3 + timeout resolve 1s + timeout retry 1s + hold valid 10s + hold other 10s + hold refused 10s + hold nx 10s + hold timeout 10s + hold obsolete 10s pidfile /var/run/haproxy.pid maxconn 4000 user haproxy