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