|
|
@@ -1,179 +0,0 @@
|
|
|
-##===================================================================
|
|
|
-##
|
|
|
-## Config file for EMQ 3.0
|
|
|
-##
|
|
|
-##===================================================================
|
|
|
-
|
|
|
-##--------------------------------------------------------------------
|
|
|
-## Authentication
|
|
|
-##--------------------------------------------------------------------
|
|
|
-
|
|
|
-%% Anonymous: Allow all
|
|
|
-{auth, anonymous, []}.
|
|
|
-
|
|
|
-%% Authentication with username, password
|
|
|
-{auth, username, [{passwd, "etc/modules/passwd.conf"}]}.
|
|
|
-
|
|
|
-%% Authentication with clientId
|
|
|
-{auth, clientid, [{config, "etc/modules/client.conf"}, {password, no}]}.
|
|
|
-
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-%% ACL
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-
|
|
|
-{acl, anonymous, []}.
|
|
|
-
|
|
|
-{acl, internal, [{config, "etc/modules/acl.conf"}, {nomatch, allow}]}.
|
|
|
-
|
|
|
-%% Cache ACL result for PUBLISH
|
|
|
-{cache_acl, true}.
|
|
|
-
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-%% Listener
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-
|
|
|
-%% Plain MQTT
|
|
|
-{listener, mqtt, 1883, [
|
|
|
- %% Size of acceptor pool
|
|
|
- {acceptors, 16},
|
|
|
-
|
|
|
- %% Maximum number of concurrent clients
|
|
|
- {max_clients, 512},
|
|
|
-
|
|
|
- %% Mount point prefix
|
|
|
- %% {mount_point, "prefix/"},
|
|
|
-
|
|
|
- %% Socket Access Control
|
|
|
- {access, [{allow, all}]},
|
|
|
-
|
|
|
- %% Connection Options
|
|
|
- {connopts, [
|
|
|
- %% Rate Limit. Format is 'burst, rate', Unit is KB/Sec
|
|
|
- %% {rate_limit, "100,10"} %% 100K burst, 10K rate
|
|
|
- ]},
|
|
|
-
|
|
|
- %% Socket Options
|
|
|
- {sockopts, [
|
|
|
- %Set buffer if hight thoughtput
|
|
|
- %{recbuf, 4096},
|
|
|
- %{sndbuf, 4096},
|
|
|
- %{buffer, 4096},
|
|
|
- %{nodelay, true},
|
|
|
- {backlog, 1024}
|
|
|
- ]}
|
|
|
-]}.
|
|
|
-
|
|
|
-%% MQTT/SSL
|
|
|
-{listener, mqtts, 8883, [
|
|
|
- %% Size of acceptor pool
|
|
|
- {acceptors, 4},
|
|
|
-
|
|
|
- %% Maximum number of concurrent clients
|
|
|
- {max_clients, 512},
|
|
|
-
|
|
|
- %% Mount point prefix
|
|
|
- %% {mount_point, "secure/"},
|
|
|
-
|
|
|
- %% Socket Access Control
|
|
|
- {access, [{allow, all}]},
|
|
|
-
|
|
|
- %% SSL certificate and key files
|
|
|
- {ssl, [{handshake_timeout, 10000},
|
|
|
- %% Mutual SSL Authentication option
|
|
|
- %% {verify, verify_peer},
|
|
|
- %% {cacertfile, "etc/ssl/ca.pem"},
|
|
|
- {certfile, "etc/ssl/ssl.crt"},
|
|
|
- {keyfile, "etc/ssl/ssl.key"}]},
|
|
|
-
|
|
|
- %% Socket Options
|
|
|
- {sockopts, [
|
|
|
- {backlog, 1024}
|
|
|
- %{buffer, 4096},
|
|
|
- ]}
|
|
|
-]}.
|
|
|
-
|
|
|
-%% HTTP and WebSocket Listener
|
|
|
-{listener, http, 8083, [
|
|
|
- %% Size of acceptor pool
|
|
|
- {acceptors, 4},
|
|
|
-
|
|
|
- %% Maximum number of concurrent clients
|
|
|
- {max_clients, 64},
|
|
|
-
|
|
|
- %% Socket Access Control
|
|
|
- {access, [{allow, all}]},
|
|
|
-
|
|
|
- %% Socket Options
|
|
|
- {sockopts, [
|
|
|
- {backlog, 1024}
|
|
|
- %{buffer, 4096},
|
|
|
- ]}
|
|
|
-]}.
|
|
|
-
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-%% PubSub
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-
|
|
|
-%% PubSub Pool Size. Default should be scheduler numbers.
|
|
|
-{pubsub_pool_size, 8}.
|
|
|
-
|
|
|
-{pubsub_by_clientid, true}.
|
|
|
-
|
|
|
-%% Subscribe Asynchronously
|
|
|
-{pubsub_async, true}.
|
|
|
-
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-%% Bridge
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-
|
|
|
-%% TODO: Bridge Queue Size
|
|
|
-{bridge_max_queue_len, 10000}.
|
|
|
-
|
|
|
-%% Ping Interval of bridge node
|
|
|
-{bridge_ping_down_interval, 1}. % second
|
|
|
-
|
|
|
-%%-------------------------------------------------------------------
|
|
|
-%% Plugins
|
|
|
-%%-------------------------------------------------------------------
|
|
|
-
|
|
|
-%% Dir of plugins' config
|
|
|
-{plugins_etc_dir, "etc/plugins/"}.
|
|
|
-
|
|
|
-%% File to store loaded plugin names.
|
|
|
-{plugins_loaded_file, "data/loaded_plugins"}.
|
|
|
-
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-%% Modules
|
|
|
-%%--------------------------------------------------------------------
|
|
|
-
|
|
|
-%% Retainer Module
|
|
|
-{module, retainer, [
|
|
|
-
|
|
|
- %% disc: disc_copies, ram: ram_copies
|
|
|
- {storage_type, disc},
|
|
|
-
|
|
|
- %% Max number of retained messages
|
|
|
- {max_message_num, 100000},
|
|
|
-
|
|
|
- %% Max Payload Size of retained message
|
|
|
- {max_playload_size, 65536},
|
|
|
-
|
|
|
- %% Expired after seconds, never expired if 0
|
|
|
- {expired_after, 0}
|
|
|
-
|
|
|
-]}.
|
|
|
-
|
|
|
-%% Client presence management module. Publish presence messages when
|
|
|
-%% client connected or disconnected.
|
|
|
-{module, presence, [{qos, 0}]}.
|
|
|
-
|
|
|
-%% Subscribe topics automatically when client connected
|
|
|
-{module, subscription, [{"$client/%c", 1}]}.
|
|
|
-
|
|
|
-%% [Rewrite](https://github.com/emqtt/emqttd/wiki/Rewrite)
|
|
|
-%% {module, rewrite, [{config, "etc/modules/rewrite.conf"}]}.
|
|
|
-
|
|
|
-%%-------------------------------------------------------------------
|
|
|
-%% Erlang System Monitor
|
|
|
-%%-------------------------------------------------------------------
|
|
|
-
|