Announcement: Shared Anycast IPv4

I think shared IPv4 did work with just TLS earlier. Is that possible? I assumed Fly was using SNI to identify the hostname so there was no technical reason for an HTTP handler. It would be really neat if it worked, because it would allow non-HTTP protocols (e.g. gRPC) to be used with shared IPv4s by wrapping them in TLS.


Thanks. Some feedback: The error message when running fly ips allocate-v4 --shared on an app with non-standard ports doesn’t make sense:

Services defined at indexes: 0 require a dedicated IP address. You currently have a shared IPv4 assigned to your app (fly ips list). Release the shared IP (fly ips release <shared ip>) and/or allocate only dedicated IPs before deploying (fly ips allocate-v4 and/or fly ips allocate-v6). Affected services:
[0] tcp/80,443,5000 => 8080

This message would make sense in the context of fly deploy, but in the context of ips allocate-v4 --shared it is plain wrong: the app doesn’t currently have a shared IPv4. I’m not sure what a better message would be. Maybe suggest to the user to allocate a dedicated IP by dropping the --shared option. It would also help if the error message explained how to remove the non-standard port (editing fly.toml wasn’t enough, I also had to run fly deploy; not sure if there is a simpler way).

1 Like