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
  1. Enable the plugin in plugin.config:

    connection_exempt_list.so /opt/ats/etc/trafficserver/exempt_localhost.yaml
    
  2. Configure per-client connection limits in records.yaml:

    records:
      net:
        per_client:
          max_connections_in: 300
    
  3. 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.

See Also