Internet Assigned Numbers Authority • Domains • Protocols • Numbers • About Hypertext Transfer Protocol (HTTP) Proxy-Status Created 2021-10-22 Last Updated 2026-08-21 Available Formats [IMG] XML [IMG] HTML [IMG] Plain text Registries Included Below • HTTP Proxy-Status Parameters • HTTP Proxy Error Types HTTP Proxy-Status Parameters Registration Procedure(s) Expert Review Expert(s) Mark Nottingham Reference [RFC9209] Note New Proxy-Status parameters and proxy error types, along with changes to existing ones, can be requested using the [registry interface] or the ietf-http-wg@w3.org mailing list. Available Formats [IMG] CSV Name Description Reference error The error parameter's value is a Token that is a proxy error type. When present, it indicates that the intermediary [RFC9209] encountered an issue when obtaining this response. next-hop The next-hop parameter's value is a String or Token that identifies the intermediary or origin server selected (and used, [RFC9209] if contacted) to obtain this response. It might be a hostname, IP address, or alias. next-protocol The next-protocol parameter's value indicates the Application-Layer Protocol Negotiation (ALPN) protocol identifier [RFC9209] [RFC7301] of the protocol used by the intermediary to connect to the next hop when obtaining this response. received-status The received-status parameter's value indicates the HTTP status code that the intermediary received from the next-hop [RFC9209] server when obtaining this response. details The details parameter's value is a String containing additional information not captured anywhere else. This can include [RFC9209] implementation-specific or deployment-specific information. next-hop-aliases A string containing one or more DNS aliases or canonical names used to establish a proxied connection to the next hop. [RFC9532] HTTP Proxy Error Types Registration Procedure(s) Expert Review Expert(s) Mark Nottingham Reference [RFC9209] Note New Proxy-Status parameters and proxy error types, along with changes to existing ones, can be requested using the [registry interface] or the ietf-http-wg@w3.org mailing list. Available Formats [IMG] CSV Recommended Response Only Name Description Extra Parameters HTTP Status Generated by Reference Notes Code Intermediaries The intermediary encountered a timeout dns_timeout when trying to find an None 504 true [RFC9209] IP address for the next-hop hostname. - rcode: A String conveying the DNS RCODE The intermediary that indicates the error encountered a DNS error type. See [RFC9499], dns_error when trying to find an Section 3. 502 true [RFC9209] IP address for the next-hop hostname. - info-code: An Integer conveying the Extended DNS Error Code INFO-CODE. See [RFC8914]. The intermediary cannot determine the appropriate next hop to use for this request; for example, it may not be configured. Note that this error is specific destination_not_found to gateways, which None 500 true [RFC9209] typically require specific configuration to identify the "backend" server; forward proxies use in-band information to identify the origin server. The intermediary considers the next hop to be unavailable; e.g., destination_unavailable recent attempts to None 503 true [RFC9209] communicate with it may have failed, or a health check may indicate that it is down. The intermediary is destination_ip_prohibited configured to prohibit None 502 true [RFC9209] connections to the next-hop IP address. The intermediary cannot destination_ip_unroutable find a route to the None 502 true [RFC9209] next-hop IP address. The intermediary's connection_refused connection to the next None 502 true [RFC9209] hop was refused. The intermediary's connection to the next connection_terminated hop was closed before a None 502 false [RFC9209] complete response was received. The intermediary's connection_timeout attempt to open a None 504 true [RFC9209] connection to the next hop timed out. The intermediary was expecting data on a connection (e.g., part connection_read_timeout of a response) but did None 504 false [RFC9209] not receive any new data in a configured time limit. The intermediary was attempting to write data connection_write_timeout to a connection but was None 504 false [RFC9209] not able to (e.g., because its buffers were full). The intermediary is configured to limit the connection_limit_reached number of connections it None 503 true [RFC9209] has to the next hop, and that limit has been exceeded. The intermediary encountered a TLS error Not appropriate when a tls_protocol_error when communicating with None 502 false [RFC9209] TLS alert is received; the next hop, either see during the handshake or tls_alert_received. afterwards. The intermediary encountered an error tls_certificate_error when verifying the None 502 true [RFC9209] certificate presented by the next hop. - alert-id: An Integer containing the applicable value from the [TLS Alerts registry]. See [RFC9846]. The intermediary tls_alert_received received a TLS alert - alert-message: A Token 502 false [RFC9209] from the next hop. or String containing the applicable description string from the [TLS Alerts registry]. See [RFC9846]. The intermediary is generating a client - status-code: An Integer (4xx) response on the containing the generated This type helps origin's behalf. status code. The applicable distinguish between http_request_error Applicable status codes 4xx status true [RFC9209] responses generated by include (but are not - status-phrase: A String code intermediaries from limited to) 400, 403, containing the generated those generated by the 405, 406, 408, 411, 413, status phrase. origin. 414, 415, 416, 417, and 429. The intermediary rejected the HTTP request based on its http_request_denied configuration and/or None 403 true [RFC9209] policy settings. The request wasn't forwarded to the next hop. The intermediary http_response_incomplete received an incomplete None 502 false [RFC9209] response to the request from the next hop. - header-section-size: An The intermediary Integer indicating how received a response to large the received headers http_response_header_section_size the request whose header were. Note that they might 502 false [RFC9209] section was considered not be complete; i.e., the too large. intermediary may have discarded or refused additional data. - header-name: A String The intermediary indicating the name of the received a response to header field that the request containing triggered the error. http_response_header_size an individual header 502 false [RFC9209] field line that was - header-size: An Integer considered too large. indicating the size of the header field that triggered the error. - body-size: An Integer The intermediary indicating how large the received a response to received body was. Note http_response_body_size the request whose body that it may not have been 502 false [RFC9209] was considered too complete; i.e., the large. intermediary may have discarded or refused additional data. - trailer-section-size: An Integer indicating how The intermediary large the received received a response to trailers were. Note that http_response_trailer_section_size the request whose they might not be 502 false [RFC9209] trailer section was complete; i.e., the considered too large. intermediary may have discarded or refused additional data. - trailer-name: A String The intermediary indicating the name of the received a response to trailer field that the request containing triggered the error. http_response_trailer_size an individual trailer 502 false [RFC9209] field line that was - trailer-size: An Integer considered too large. indicating the size of the trailer field that triggered the error. The intermediary - coding: A Token encountered an error containing the specific http_response_transfer_coding decoding the transfer coding (from the [HTTP 502 false [RFC9209] coding of the response. Transfer Coding Registry]) that caused the error. The intermediary - coding: A Token encountered an error containing the specific http_response_content_coding decoding the content coding (from the [HTTP 502 false [RFC9209] coding of the response. Content Coding Registry]) that caused the error. The intermediary reached http_response_timeout a configured time limit None 504 false [RFC9209] waiting for the complete response. The process of negotiating an upgrade http_upgrade_failed of the HTTP version None 502 true [RFC9209] between the intermediary and the next hop failed. The intermediary encountered an HTTP protocol error when http_protocol_error communicating with the None 502 false [RFC9209] next hop. This error should only be used when a more specific one is not defined. The intermediary The most generated the response appropriate proxy_internal_response itself without None status code true [RFC9209] attempting to connect to for the the next hop. response The intermediary proxy_internal_error encountered an internal None 500 true [RFC9209] error unrelated to the origin. The intermediary proxy_configuration_error encountered an error None 500 true [RFC9209] regarding its configuration. The intermediary tried to forward the request proxy_loop_detected to itself, or a loop has None 502 true [RFC9209] been detected using different means (e.g., [RFC8586]). The HTTP message contained the Incremental HTTP header incremental_refused field, but the None 501 true [RFC10036] intermediary refused to forward the message incrementally. Licensing Terms