update doc about egress path selection

This commit is contained in:
Zhang Jingqiang 2023-08-18 15:25:14 +08:00
parent ad3742921e
commit e9d8f45a02
6 changed files with 75 additions and 8 deletions

View file

@ -1,4 +1,4 @@
.. _protocol_client_path_selection:
.. _protocol_egress_path_selection:
#####################
Egress Path Selection
@ -11,7 +11,7 @@ connect to such one to many server port, but bind each connection to a specific
policy which the user can tell us within each connection negotiation stage.
For path selection to work, the escapers used must support and enable it.
Not all escapers support it, see the config documentation for each for confirmation.
Not all escapers support it, see the config documentation for each one for confirmation.
server support
==============
@ -21,6 +21,8 @@ custom http header
Only http proxy server can support this.
The supported method is :ref:`by index <_proto_egress_path_selection_by_index>`.
See :ref:`path_selection_header <config_server_http_proxy_egress_path_selection_header>` for more info.
socks extension
@ -37,6 +39,13 @@ All servers which support user auth with a username can support this.
No implementation for now.
user support
============
User level egress path selection can be enabled via :ref:`egress_path <config_user_egress_path>` config option.
The supported method is :ref:`by json <_proto_egress_path_selection_by_json>`.
selection methods
=================
@ -47,6 +56,8 @@ default
The default one, just like no path selection enabled.
.. _proto_egress_path_selection_by_index:
by index
--------
@ -56,3 +67,16 @@ For escapers with multiple nodes (may be next escapers or ip addresses), the nod
The value will be wrapped into range *1 - len(nodes)*.
**NOTE*** the start value is *1*, *0* is the same as *len(nodes) - 1*.
.. _proto_egress_path_selection_by_json:
by json
-------
**value**: json object
The root value should be a json map.
The key should be the escaper name, so the corresponding value will be handled by that escaper.
The format of the value should be defined by each escaper that has such support.