Connection Exempt List Plugin
Description
proxy.config.http.per_client.connection.exempt_list allows
administrators to set exemptions to the per-client connection limit. However,
for large networks, managing this as a comma-separated string in
records.yaml can be cumbersome. This plugin allows administrators to set
the exemption list proxy.config.http.per_client.connection.exempt_list
value via an external YAML file.
Plugin Configuration
The plugin is configured as a global plugin and requires a path to a YAML
configuration file. Load the plugin by adding a line to the
plugin.config:
connection_exempt_list.so /path/to/exempt_list.yaml
Configuration File Format
The exempt list configuration file must be in YAML format with the following simple structure:
exempt_list:
- 127.0.0.1
- ::1
- 192.168.1.0/24
- 10.0.0.0/8
The configuration file supports the same range formats as
proxy.config.http.per_client.connection.exempt_list.
Individual IPv4 addresses (e.g.,
192.168.1.100)Individual IPv6 addresses (e.g.,
::1,2001:db8::1)IPv4 CIDR ranges (e.g.,
192.168.0.0/16)Ranges as a dash-separated string (e.g.,
10.0.0.0-10.0.0.255)
Example Usage
1. Create an exempt list configuration file (e.g.,
/opt/ats/etc/trafficserver/exempt_localhost.yaml):
exempt_list: - 127.0.0.1 - ::1
Enable the plugin in
plugin.config:connection_exempt_list.so /opt/ats/etc/trafficserver/exempt_localhost.yaml
Configure per-client connection limits in
records.yaml:records: net: per_client: max_connections_in: 300
Start Traffic Server. The plugin will load the exempt list and not apply the per-client connection limit to the exempted IP addresses and ranges.