The plugin.config file controls run-time loadable plugins available to Traffic Server, as well as their configuration. Plugins listed in this file are referred to as global plugins because they are always loaded and have global effect. This is in contrast to plugins specified in remap.config, whose effects are limited to the specific mapping rules to which they are applied.

Each configuration line consists of a path to an .so file. This path can either be absolute, or relative to the plugin directory (usually /usr/local/libexec/trafficserver). Failure to load a plugin is fatal, and will cause Traffic Server to abort. In general, it is not possible to know whether it is safe for the service to run without a particular plugin, since plugins can have arbitrary effects on caching and authorization policies.


Plugins should only be listed once. The order in which the plugins are listed is also the order in which they are chained for request processing.

An option list of whitespace-separated arguments may follow the plugin name. These are passed as an argument vector to the plugin’s initialization function, TSPluginInit(). Arguments that begin with the $ character designate Traffic Server configuration variables. These arguments will be replaced with the value of the corresponding configuration variable before the plugin is loaded. When using configuration variable expansion, note that most Traffic Server configuration can be changed. If a plugin requires the current value, it must obtain that using the management API.


# Comments start with a '#' and continue to the end of the line
# Blank lines are ignored
# arg1 arg2 arg3
plugins/abuse/ etc/trafficserver/abuse.config
plugins/icx/ etc/trafficserver/icx.config $proxy.config.http.connect_attempts_timeout

See Also

TSAPI(3ts), TSPluginInit(3ts), remap.config(5)