Internet Assigned Numbers Authority Hypertext Transfer Protocol (HTTP) Proxy-Status Created 2021-10-22 Last Updated 2025-08-12 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 [RFC9209] used, 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 [RFC9209] include 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 [RFC9532] hop. 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 dns_timeout timeout when trying None 504 true [RFC9209] to find an IP address for the next-hop hostname. - rcode: A String conveying the The intermediary DNS RCODE that indicates the encountered a DNS error type. See [RFC9499], error when trying Section 3. dns_error to find an IP 502 true [RFC9209] address for the - info-code: An Integer next-hop hostname. 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 to destination_not_found 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 configured to destination_ip_prohibited prohibit None 502 true [RFC9209] connections to the next-hop IP address. The intermediary destination_ip_unroutable cannot find a route None 502 true [RFC9209] to the next-hop IP address. The intermediary's connection_refused connection to the None 502 true [RFC9209] next hop was refused. The intermediary's connection to the connection_terminated next hop was closed None 502 false [RFC9209] before a 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 of a connection_read_timeout response) but did None 504 false [RFC9209] not receive any new data in a configured time limit. The intermediary was attempting to write data to a connection_write_timeout connection but was None 504 false [RFC9209] not able to (e.g., because its buffers were full). The intermediary is configured to limit the number of connection_limit_reached connections it has None 503 true [RFC9209] to the next hop, and that limit has been exceeded. The intermediary encountered a TLS error when Not appropriate when tls_protocol_error communicating with None 502 false [RFC9209] a TLS alert is the next hop, received; see either during the tls_alert_received. handshake or afterwards. The intermediary encountered an error when tls_certificate_error 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 The intermediary [RFC-ietf-tls-rfc8446bis-13]. tls_alert_received received a TLS 502 false [RFC9209] alert from the next - alert-message: A Token or hop. String containing the applicable description string from the [TLS Alerts registry]. See [RFC-ietf-tls-rfc8446bis-13]. The intermediary is generating a client (4xx) response on - status-code: An Integer the origin's containing the generated status This type helps behalf. Applicable code. The distinguish between http_request_error status codes applicable true [RFC9209] responses generated include (but are - status-phrase: A String 4xx status by intermediaries not limited to) containing the generated status code from those generated 400, 403, 405, 406, phrase. by the origin. 408, 411, 413, 414, 415, 416, 417, and 429. The intermediary rejected the HTTP request based on its configuration http_request_denied and/or policy None 403 true [RFC9209] settings. The request wasn't forwarded to the next hop. The intermediary received an http_response_incomplete incomplete response None 502 false [RFC9209] to the request from the next hop. The intermediary - header-section-size: An received a response Integer indicating how large to the request the received headers were. Note http_response_header_section_size whose header that they might not be 502 false [RFC9209] section was complete; i.e., the considered too intermediary may have discarded large. or refused additional data. The intermediary - header-name: A String received a response indicating the name of the to the request header field that triggered the containing an error. http_response_header_size individual header 502 false [RFC9209] field line that was - header-size: An Integer considered too indicating the size of the large. header field that triggered the error. The intermediary - body-size: An Integer received a response indicating how large the to the request received body was. Note that it http_response_body_size whose body was may not have been complete; 502 false [RFC9209] considered too i.e., the intermediary may have large. discarded or refused additional data. The intermediary - trailer-section-size: An received a response Integer indicating how large to the request the received trailers were. http_response_trailer_section_size whose trailer Note that they might not be 502 false [RFC9209] section was complete; i.e., the considered too intermediary may have discarded large. or refused additional data. The intermediary - trailer-name: A String received a response indicating the name of the to the request trailer field that triggered containing an the error. http_response_trailer_size individual trailer 502 false [RFC9209] field line that was - trailer-size: An Integer considered too indicating the size of the large. trailer field that triggered the error. The intermediary - coding: A Token containing encountered an the specific coding (from the http_response_transfer_coding error decoding the [HTTP Transfer Coding 502 false [RFC9209] transfer coding of Registry]) that caused the the response. error. The intermediary - coding: A Token containing encountered an the specific coding (from the http_response_content_coding error decoding the [HTTP Content Coding Registry]) 502 false [RFC9209] content coding of that caused the error. the response. The intermediary reached a http_response_timeout configured time None 504 false [RFC9209] limit waiting for the complete response. The process of negotiating an upgrade of the HTTP http_upgrade_failed version between the None 502 true [RFC9209] intermediary and the next hop failed. The intermediary encountered an HTTP protocol error when communicating with http_protocol_error the next hop. This None 502 false [RFC9209] error should only be used when a more specific one is not defined. The intermediary The most generated the appropriate proxy_internal_response response itself None status code true [RFC9209] without attempting for the to connect to the response next hop. The intermediary encountered an proxy_internal_error internal error None 500 true [RFC9209] unrelated to the origin. The intermediary proxy_configuration_error encountered an None 500 true [RFC9209] error regarding its configuration. The intermediary tried to forward the request to proxy_loop_detected itself, or a loop None 502 true [RFC9209] has been detected using different means (e.g., [RFC8586]). Licensing Terms