# Proxy subscriptions
The proxy subscription function of EMQX Broker allows the client to automatically establish the user's preset subscription relationship without sending additional SUBSCRIBE packets when the connection is established.
# Built-in proxy subscription
Through the built-in proxy subscription module, you can specify proxy subscription rules through the configuration file to achieve proxy subscription, which is suitable for regular and static proxy subscription requirements.
# Enable proxy subscription function
The proxy subscription function is disabled by default. To enable this function, you need to modify the
module.subscription configuration item in the
etc/emqx.conf file. The default
off means disabled. If you want to enable it, please change it to
module.subscription = off
# Configure proxy subscription rules
Of course, just enabling does not mean that the proxy subscription has already worked. You need to configure the corresponding rules. The proxy subscription rules of EMQX Broker support users to configure by themselves. The user can add multiple proxy subscription rules and each rule should specify the Topic and QoS. There is no limit for the number of rules. The format of proxy subscription rules is as follows:
module.subscription.<number>.topic = <topic> module.subscription.<number>.qos = <qos>
When configuring the topic of proxy subscription, EMQX Broker provides two placeholders of
%u for users to use, and EMQX Broker will replace the
%u in the configuration with the client's
Client ID and
Username respectively when performing proxy subscription. It should be noted that
%u must occupy an entire topic level.
For example, the following proxy subscription rules are added in the
module.subscription.1.topic = client/%c module.subscription.1.qos = 1 module.subscription.2.topic = user/%u module.subscription.2.qos = 2
When a client connects to EMQX Broker, if the client's
Client ID is
tester, according to the configuration rules above, the proxy subscription function will actively help the client subscribe to the topics of
client/testclient(QoS is 1) and
user/tester( QoS is 2)
# Dynamic proxy subscription
The EMQX Enterprise version supports dynamic proxy subscription. The external database is used to set the topic list and the list is read when the device is connected to realize the proxy subscription.