I can’t access my server apps from outside my network with tailscale. I can access the dashboard fine. I’ve added args --accept-routes --advertise-exit-node on and set TS_ROUTES to 192.168.2.0/24, (my server is on 192.168.2.60. I’ve even enabled TS_USERSPACE.
Here are the logs when I try to connect from my phone outside the network.
tailscale-1 | 2026/03/24 22:58:57 wgengine: Reconfig: [00YQo] changed from "discokey:99ce9e283865a206f12f312293d367b884fd64f1b9d5ad7939d9cb5e7f584c68" to "discokey:77672f1725e16e3647619a7a644d3a20426be5a3fa355ecc9997c21c05e65047"
tailscale-1 | 2026/03/24 22:58:57 wgengine: Reconfig: configuring userspace WireGuard config (with 0/3 peers)
tailscale-1 | 2026/03/24 22:59:00 wgengine: idle peer [00YQo] now active, reconfiguring WireGuard
tailscale-1 | 2026/03/24 22:59:00 wgengine: Reconfig: configuring userspace WireGuard config (with 1/3 peers)
tailscale-1 | 2026/03/24 22:59:00 magicsock: disco: node [00YQo] d:77672f1725e16e36 now using 184.151.190.90:40594 mtu=1360 tx=37b47b64cfd3
tailscale-1 | 2026/03/24 22:59:12 [RATELIMIT] format("backend -> client close connection: %v") (3 dropped)
tailscale-1 | 2026/03/24 22:59:12 backend -> client close connection: close tcp 172.18.0.6:50552->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 22:59:12 [RATELIMIT] format("backend -> client close connection: %v") (3 dropped)
tailscale-1 | 2026/03/24 22:59:12 backend -> client close connection: close tcp 172.18.0.6:50552->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 23:00:18 backend -> client close connection: close tcp 172.18.0.6:50538->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 23:00:18 backend -> client close connection: close tcp 172.18.0.6:50526->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 23:00:18 backend -> client close connection: close tcp 172.18.0.6:50512->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 23:00:18 backend -> client close connection: close tcp 172.18.0.6:50524->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 23:00:18 backend -> client close connection: close tcp 172.18.0.6:50554->192.168.2.60:80: shutdown: transport endpoint is not connected
tailscale-1 | 2026/03/24 23:00:18 [RATELIMIT] format("backend -> client close connection: %v")
tailscale-1 | 2026/03/24 23:00:23 proxy connection closed with error: client -> backend: readfrom tcp 172.18.0.6:50510->192.168.2.60:80: read tcp 192.168.2.60:80: connection reset by peer
tailscale-1 | 2026/03/24 23:00:23 client -> backend close connection: close tcp 192.168.2.60:80: endpoint not connected
tailscale-1 | 2026/03/24 23:01:32 netstack: could not connect to local backend server at 192.168.2.60:2679: dial tcp 192.168.2.60:2679: connect: connection timed out
tailscale-1 | 2026/03/24 23:01:32 netstack: could not connect to local backend server at 192.168.2.60:2679: dial tcp 192.168.2.60:2679: connect: connection timed out