we use haproxy for multiple backends that sometimes needs to be accessible only from intranet, so the in the backend configuration i use this:
backend srv-web-http-dev_ipvANY
mode http
id 105
log global
timeout connect 30000
timeout server 30000
retries 3
acl INTERNAL_LANS src 172.1.0.0/16
acl INTERNAL_LANS src 172.2.0.0/16
acl INTERNAL_LANS src 172.3.0.0/16
http-response allow if INTERNAL_LANS
http-response deny
server srv-web-01 172.1.2.3:888 id 117 check inter 1000 resolvers
Now, a third party developer should connect from the outside and he asked me if i could resolve a dns query to get the ip to be authorized, as he use dyndns to get the right ip as he roam across the country.
For example: record A mynameisdev.devdomain.com -> 101.102.103.104
And get 101.102.103.104 authorized to connect to the backend srv-web-http-dev_ipvANY.
I checked on the haproxy docs and i can't see how i could get this to work. Seems that there isn't a method to resolve a dns query and use the resulted ip in the ACL check (for the backend section)
As you don't show the output of
haproxy -vvwe don't know which HAProxy version do you use. Therefore Link I here the latest version from the doc.You can use do-resolve to resolve an IP.
Partly copied from doc and untested.
That's the link to the resolvers section