One of my clients had a problem when he tried to connect to the google maps api using ipv6, there where no problems when i curl the url over ipv4.
As i can’t control the connection the routing to google, i was looking for a alternative solution and found out you can manipulate which address your server prefers.
Something exists called gai.conf, this hooks into the getaddress function.
So i had to block ipv6 requests to 2a00:1450:4013:c01::5f , the easy way is to disable all ipv6 requests.
If you are looking for this, just uncomment this line, and restart the program that is opening a connection.
#precedence ::ffff:0:0/96 100
This is the easy way, and i don’t want to disable all ipv6 connections, so i went ahead and played a bit more.
This was the solution i ended up with.
precedence ::1/128 50
precedence ::/0 40
precedence 2002::/16 30
precedence ::/96 20
precedence ::ffff:0:0/96 10
precedence 2a00:1450::/32 0
You want to uncomment these lines, if you don’t do this, you will block all ipv6 requests again.