aaronpowell/httpstatus

Enable IPv6 support

sgryphon opened this issue · 3 comments

The endpoint does not have an IPv6 address, so can not be directly accessed by IPv6 only endpoints, or used for testing/validating direct IPv6 connectivity (e.g. from a mobile device; Apple mandates IPv6 support, Telstra consumer mobile is now IPv6 single stack).

sly@sigil:~$ host httpstat.us
httpstat.us has address 20.40.202.3
httpstat.us has IPv6 address 64:ff9b::1428:ca03

Note that most IPv6 deployments do have gateways setup to connect to IPv4 only hosts, e.g. I have DNS64+NAT64 setup (the 64:ff9b:: address above). But this has to go through NAT (and be available)... and of course most IPv4 access is via NAT44 anyway.

Note that Azure App Services, including containerised, do not support IPv6: https://msandbu.org/ipv6-support-in-microsoft-azure/

This may mean changing the hosting to an Azure virtual server (supports dual stack), with a Public IP (supports IPv6).

Note that public IPv6 is now free (unlike IPv4, which costs).

There are other solutions, like Front Door, or running a reverse proxy, etc.

With the limitations of Azure and what exposes as IPv6, I'm probably not going to be able to offer the hosted version via an IPv6 enabled endpoint. While it could be deployed with Front Door in front of it, or on a VM with a public IP, or maybe even AKS, all of these really change the cost model for me, and as a "free" service, I really need to keep the costs as low as possible.

For IPv6, you could always self-host the container yourself, pulling the image from the GitHub Packages registry.

Good idea. I might set up a script to deploy to an IPv6 server, for anyone who wants to self-host.

Closing as it's an Azure limitation on the hosted version.