Skip to main content
599

Network Connect Timeout Error

Active
Not standardized N/ASince 2000Proxy servers, monitoring tools, network testing utilities

HTTP 599 Network Connect Timeout Error is an unofficial status code used by some HTTP proxies and monitoring tools to indicate the proxy failed to establish a TCP connection to the upstream server within the timeout period. Unlike 598 (read timeout after connection), 599 means the TCP handshake never completed. Not defined in any RFC. The RFC-standard equivalent is 504 Gateway Timeout.

Description

599 represents a connection-phase timeout – the proxy sent a TCP SYN but received no SYN-ACK within the configured connect timeout. This is distinct from 598 (connected but timed out reading). Some monitoring tools like Zabbix and Nagios use 599 when connection attempts to monitored endpoints fail. Applications and clients should handle 599 identically to 504.

Examples

Proxy connect timeout
http
# Proxy failed to TCP-connect to upstream within timeout
HTTP/1.1 599 Network connect timeout error
Content-Type: text/html
# Treat like 504 in client code

Edge Cases

  • 599 is not recognized by browsers – they will display it as an unknown status.
  • The distinction between 598 and 599 is not universally respected – many proxies use 504 for both.
  • Cloudflare uses 522 Connection Timed Out for TCP connection failures, not 599.

When You'll See This

  • Proxy cannot TCP-connect to origin within connect_timeout
  • Network monitoring probe cannot connect to target host
  • Origin server firewall silently dropping SYN packets

Implementation References

LanguageConstant
Go599 (no standard constant – treat as 504)
Python (requests)Raised as ConnectionTimeout exception, not an HTTP status code

History

Emerged in proxy and monitoring tool implementations alongside 598. Neither code is IANA-registered or RFC-defined.

Related Status Codes

Related Headers

FAQ

Is 599 the same as 504?

Functionally yes. 504 is the RFC-standard status for any upstream timeout. 599 is an unofficial variant used by some proxies to specifically indicate connection-phase timeout. Always use 504 in your own APIs.