I was able to reproduce this overall port-limitation phenomenon—with ordinary HTTPS over shared IPv4:
curl -6 https://my-app-name.fly.dev:8080/
Works as expected. But…
curl -4 https://my-app-name.fly.dev:8080/
…fails with SSL_connect: SSL_ERROR_SYSCALL
.
If I understand correctly, this is a longstanding limitation of Fly’s implementation of shared IPv4—rather than a restriction in the Hobby plan per se:
https://community.fly.io/t/outage-connection-reset-by-peer-when-using-non-default-ports/9521/2
shared IP address […], which only supports HTTP/S on 80/443.
https://community.fly.io/t/fly-app-with-multiple-external-ports-only-working-for-port-443/9417/2
This is probably due to our recent release of shared IPs. These only support tls + http over port 443.