.. _protocol_client_http_custom_headers: ################### Http Custom Headers ################### Chained Final Info Headers ========================== These headers are neither reset nor appended by intermediate proxies. This means their values always come from the proxy closest to the final upstream. X-VEY-Upstream-Id ----------------- If this header is present, the response came from a remote peer. The value is the corresponding *server_id*. If this header appears in an error response, it indicates that the response was generated by the server after the one identified by the same *server_id*. That may be either the final upstream server or another proxy in the chain. This header is controlled by http_proxy server option :ref:`http_forward_mark_upstream `. X-VEY-Upstream-Addr ------------------- If present, this header contains the remote address that the outermost proxy in the chain is trying to connect to. This header is controlled by http_proxy server option :ref:`echo_chained_info `. X-VEY-Outgoing-Ip ----------------- If present, this header contains the local bind IP used by the outermost proxy in the chain when connecting to the remote peer. This header is controlled by http_proxy server option :ref:`echo_chained_info `. Local Info Headers ================== Each proxy in the chain appends its own value. Values closer to the upstream appear first. X-VEY-Remote-Connection-Info ---------------------------- The value format: :: [; bind=][; remote=][; local=][; expire=] * bind_ip The IP address selected for binding before the connection is established. * remote_addr The remote socket address selected before the connection is established. * local_addr The local socket address actually bound after the connection is established. * expire_rfc3339 The expiration time of the remote peer. This field is not set when the remote side is the final upstream target. This header is controlled by http_proxy server option :ref:`server_id `. X-VEY-Dynamic-Egress-Info ------------------------- The value format: :: [; isp=][; ip=][; area=] * isp ISP information for the egress IP address. * ip The externally visible egress IP address. * area Geographic area associated with the egress IP address. The format is a ``/``-separated string, for example ``中国/山东/济南``.