Title: iPhone cannot establish secure connection to Tailscale Serve *.ts.net HTTPS endpoints, while same endpoints work from host/server side
Summary
On an iPhone connected to our tailnet, all HTTPS endpoints served via Tailscale Serve on a single node fail with a secure-connection / SSL protocol error. The same endpoints are reachable from the host itself and show a valid certificate and successful TLS handshake server-side.
This appears to affect all served HTTPS ports on the same node, not just one app.
What we're serving
Node hostname:
Current tailscale serve status includes routes like:
https://max3.tail4f12c7.ts.net -> 127.0.0.1:18789
https://max3.tail4f12c7.ts.net:4174 -> 127.0.0.1:4174
https://max3.tail4f12c7.ts.net:4200 -> 127.0.0.1:4200
https://max3.tail4f12c7.ts.net:4201 -> 127.0.0.1:4201
https://max3.tail4f12c7.ts.net:6080 -> 127.0.0.1:6080
https://max3.tail4f12c7.ts.net:8443 -> 127.0.0.1:8443
https://max3.tail4f12c7.ts.net:9867 -> 127.0.0.1:9867
- plus a Funnel route on
:4100
Symptoms
On iPhone:
- Safari and Chrome both fail
- error presented as secure connection failure /
ERR_SSL_PROTOCOL_ERROR
- all tested
https://max3.tail4f12c7.ts.net[:port] endpoints fail similarly
- not limited to
/auth or to a single backend service
What works
From the server/host side:
curl to https://max3.tail4f12c7.ts.net/auth returns HTTP/2 200
- certificate validates successfully
- TLS handshake completes
- cert CN/SAN matches
max3.tail4f12c7.ts.net
- issuer is Let's Encrypt
Sample server-side observations:
/auth -> 200
:4174 -> 200
:4200/health -> 200
:6080 -> 200
So the issue does not appear to be that the serve config is entirely broken or that the certificate is invalid on the server.
Troubleshooting already attempted
On the iPhone, we tried all of the following and the problem persisted:
- confirmed the device is connected to the tailnet
- disabled iCloud Private Relay
- disabled IP address tracking / IP privacy features
- tested both Safari and Chrome
- disconnected and reconnected Tailscale
- removed the iPhone from the tailnet and re-added it
- reinstalled Tailscale
- rebooted the iPhone
Also tested against multiple served ports, all failing in the same way.
Why this seems Tailscale-client-specific
- the host/server side sees valid TLS and healthy responses
- the problem reproduces across all served HTTPS endpoints on the same node from the iPhone
- re-adding the iPhone to the tailnet did not help
Question
Is there a known iPhone/iOS issue with Tailscale Serve HTTPS endpoints on *.ts.net hostnames that can produce SSL protocol / secure connection failures even when the server-side certificate and handshake are valid?
Any guidance on additional diagnostics we should gather from the iPhone/Tailscale client side would be appreciated.
Title: iPhone cannot establish secure connection to Tailscale Serve *.ts.net HTTPS endpoints, while same endpoints work from host/server side
Summary
On an iPhone connected to our tailnet, all HTTPS endpoints served via Tailscale Serve on a single node fail with a secure-connection / SSL protocol error. The same endpoints are reachable from the host itself and show a valid certificate and successful TLS handshake server-side.
This appears to affect all served HTTPS ports on the same node, not just one app.
What we're serving
Node hostname:
max3.tail4f12c7.ts.netCurrent
tailscale serve statusincludes routes like:https://max3.tail4f12c7.ts.net->127.0.0.1:18789https://max3.tail4f12c7.ts.net:4174->127.0.0.1:4174https://max3.tail4f12c7.ts.net:4200->127.0.0.1:4200https://max3.tail4f12c7.ts.net:4201->127.0.0.1:4201https://max3.tail4f12c7.ts.net:6080->127.0.0.1:6080https://max3.tail4f12c7.ts.net:8443->127.0.0.1:8443https://max3.tail4f12c7.ts.net:9867->127.0.0.1:9867:4100Symptoms
On iPhone:
ERR_SSL_PROTOCOL_ERRORhttps://max3.tail4f12c7.ts.net[:port]endpoints fail similarly/author to a single backend serviceWhat works
From the server/host side:
curltohttps://max3.tail4f12c7.ts.net/authreturnsHTTP/2 200max3.tail4f12c7.ts.netSample server-side observations:
/auth->200:4174->200:4200/health->200:6080->200So the issue does not appear to be that the serve config is entirely broken or that the certificate is invalid on the server.
Troubleshooting already attempted
On the iPhone, we tried all of the following and the problem persisted:
Also tested against multiple served ports, all failing in the same way.
Why this seems Tailscale-client-specific
Question
Is there a known iPhone/iOS issue with Tailscale Serve HTTPS endpoints on
*.ts.nethostnames that can produce SSL protocol / secure connection failures even when the server-side certificate and handshake are valid?Any guidance on additional diagnostics we should gather from the iPhone/Tailscale client side would be appreciated.