proxy_http

This escaper will access the target upstream through another http proxy.

The following interfaces are supported:

  • tcp connect

  • http(s) forward

The following egress path selection values is supported:

  • upstream addr

    If matched, the corresponding upstream str value will be used to override the proxy_addr config.

    Added in version 1.13.0.

The following common keys are supported:

proxy_addr

required, type: upstream str | seq

Set the target proxy address. The default port is 3128 which can be omitted.

For seq value, each of its element must be weighted upstream addr.

proxy_addr_pick_policy

optional, type: selective pick policy

Set the policy to select next proxy address.

The key for ketama/rendezvous/jump hash is <client-ip>[-<username>]-<upstream-host>.

default: random

proxy_username

optional, type: username

Set the proxy username. The Basic auth scheme is used by default.

Note

Conflict with pass_proxy_userid

proxy_password

optional, type: password

Set the proxy password. Required if username is present.

bind_ipv4

optional, type: ipv4 addr str

Set the bind ip address for inet sockets.

default: not set

bind_ipv6

optional, type: ipv6 addr str

Set the bind ip address for inet6 sockets.

default: not set

http_forward_capability

optional, type: http forward capability

Set the http forward capability if the next proxy.

default: all capability disabled

http_connect_rsp_header_max_size

optional, type: humanize usize

Set the max header size for received CONNECT response.

default: 4KiB

tcp_keepalive

optional, type: tcp keepalive

Set tcp keepalive.

The tcp keepalive set in user config won’t be taken into account.

default: no keepalive set

use_proxy_protocol

optional, type: proxy protocol version

Set the version of PROXY protocol to use after TCP connected to the peer.

default: not set, which means PROXY protocol won’t be used