Skip to main content
This guide helps you diagnose and resolve networking problems in Phala Cloud.

Connection Refused

Your service isn’t responding on the expected port.

Quick Checks

Common Causes

Port not exposed in docker-compose.yml:
Service binding to localhost instead of all interfaces:
Container crashed on startup:

Connection Timeout

The connection hangs without immediate response.

Diagnosis Steps

Common Causes

Service still starting: Some applications take time to initialize. Check logs for startup progress. Wrong URL format:

TLS/Certificate Errors

TLS Handshake Failed

For default mode (TLS termination):
For passthrough mode (s suffix):

Certificate Hostname Mismatch

In passthrough mode, you have two options: Option 1: Use a custom domain with dstack-ingress
Option 2: Configure your service to ignore hostname validation
Note: You cannot get a valid certificate for *.phala.network domains. Use passthrough mode primarily with custom domains or for protocols that handle certificates differently (like some databases).

Custom Domain Issues

DNS Not Resolving

Certificate Not Issued

For custom domains using dstack-ingress:
DNS propagation takes:
  • Cloudflare: ~2 minutes
  • Linode: ~5 minutes
  • Namecheap: ~2 minutes

CAA Record Blocking Certificate

If you previously used SET_CAA=true and then wiped certificates/account, old CAA records may block new certificate issuance:
Solution options:
  1. Wait for dstack-ingress to update CAA: If SET_CAA=true, it will attempt to replace old CAA records, but DNS propagation may cause initial failures.
  2. Manually remove old CAA records: Use your DNS provider’s control panel to delete CAA records before redeploying.
  3. Disable CAA temporarily: Set SET_CAA=false to avoid CAA checks during certificate issuance.
Note: Namecheap doesn’t support CAA records via API, so this issue won’t occur with Namecheap as DNS provider.

gRPC Connection Failed

HTTP/2 Not Available

Testing gRPC Service

SSH Access Denied

Development OS Required

SSH only works with development OS images. Production images have SSH disabled.

Debug with Verbose Mode

Use the Phala CLI with verbose output to diagnose connection issues:
This shows detailed connection information including gateway resolution and SSH handshake.

Check SSH Keys

SSH keys from Account Settings are only injected at CVM creation time. If you added keys after deployment, use Code Update to set DSTACK_ROOT_PUBLIC_KEY.

macOS OpenSSL Issue

If using manual SSH configuration, macOS LibreSSL may cause timeouts:
For detailed SSH setup, see Enable SSH Access.

Debugging Commands

From Outside CVM

Inside CVM (SSH Required)

Common Patterns

Service Works Locally but Not Externally

  1. Check port is exposed in docker-compose.yml
  2. Verify service binds to 0.0.0.0, not 127.0.0.1
  3. Confirm URL format is correct (no port number in URL)

Intermittent Connection Failures

Could indicate unhealthy instances if you have multiple replicas. The gateway removes unhealthy instances from rotation after 5 minutes without WireGuard handshake.

Works with curl but Not Application

Check if your application:
  • Supports SNI (Server Name Indication)
  • Uses correct TLS version (1.2 or 1.3)
  • Handles redirects properly

Getting Support

When reporting issues, provide:
  1. Application ID from your deployment
  2. Exact URL you’re trying to access
  3. Error message (complete output)
  4. Container logs: docker logs <container> --tail 100
  5. Test results from debugging commands above
For API error codes like ERR-01-xxx, see the Error Codes Reference. The more specific information you provide, the faster issues can be resolved.