Description
Enable L4 and/or L7 proxies in APISIX are currently somewhat confusing for users.
Previous discussion in the mailing list can be found here: https://lists.apache.org/thread/w8681qbk3x9n9s4y6mrhcp18yzhddgyr
Opening this issue for tracking.
To summarize the discussion:
Current logic:
- To enable only the L7 proxy
This is the default configuration
- To enable both L7 & L4 proxy
enable apisix.stream_proxy
- To enable only the L4 proxy
enable apisix.stream_proxy and set enable_admin = false (not easy to understand)
NOTICE: The above mode is the operation of APISIX in the traditional mode (the default enable_admin is true).
If the user changes the mode of APISIX to control plane (at this time enable_admin is false by default), the above three become:
- To enable only the L7 proxy
This is the default configuration
- To enable both L7 & L4 proxy
enable apisix.stream_proxy and set apisix.stream_proxy.only = false
- To enable only the L4 proxy
enable apisix.stream_proxy and set apisix.stream_proxy.only = true
Proposed solution:
Add a configuration and remove apisix.stream_proxy.only:
- proxy_mode: http or stream or http&stream
This has nothing to do with enable_admin.
- To enable only the L7 proxy
This is the default configuration
- To enable both L7 & L4 proxy
set apisix.proxy_mode = http&stream
- To enable only the L4 proxy
set apisix.proxy_mode = stream
Environment
APISIX: current version is 3.2.1
Description
Enable L4 and/or L7 proxies in APISIX are currently somewhat confusing for users.
Previous discussion in the mailing list can be found here: https://lists.apache.org/thread/w8681qbk3x9n9s4y6mrhcp18yzhddgyr
Opening this issue for tracking.
To summarize the discussion:
Environment
APISIX: current version is 3.2.1