How do I find out whether a server problem affects IPv4 or IPv6?
A dual-stack hostname can work for some clients and fail for others when only one address family is configured correctly. Test IPv4 and IPv6 separately, using the same hostname and service. Publishing an AAAA record creates an expectation that the IPv6 path, listener and firewall are all ready.
Before you start
- An actual hostname with known A and AAAA records.
- Provider confirmation that IPv6 is allocated if it is expected to work.
Instructions
1. Inspect local IPv6 readiness
Check for a usable global IPv6 address and an appropriate route. A link-local fe80:: address alone does not provide ordinary public IPv6 connectivity.
ip -6 address show scope global
ip -6 route showLists global IPv6 addresses and routes without changing them.
2. Test the same HTTPS URL in each family
Use your actual service hostname. These requests retain normal certificate validation. A HEAD response of 405 can mean the application disallows HEAD, so compare with a permitted GET if necessary.
curl -4 --head --connect-timeout 5 --max-time 15 https://app.example.com/
curl -6 --head --connect-timeout 5 --max-time 15 https://app.example.com/The -4 and -6 options force address-family selection for each independent test.
3. Follow the failing layer
Compare DNS records with assigned addresses, then inspect listeners and the matching IPv4 or IPv6 firewall path. A working IPv4 rule does not necessarily describe IPv6 exposure.
Check the result
- Both families serve the intended hostname successfully when both are advertised.
- If only IPv4 is provided, DNS and the service documentation reflect that design.
Troubleshooting
- IPv6 cannot resolve a host
- Confirm the hostname has a valid AAAA record before diagnosing server routes.
- IPv6 has an address but no route
- Use the provider’s allocation details to plan the correction; do not guess an IPv6 gateway.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
