| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346 |
- ##--------------------------------------------------------------------
- ## EMQX Gateway configurations
- ##--------------------------------------------------------------------
- gateway.stomp {
- ## How long time the connection will be disconnected if the
- ## connection is established but no bytes received
- idle_timeout = 30s
- ## To control whether write statistics data into ETS table
- ## for dashboard to read.
- enable_stats = true
- ## When publishing or subscribing, prefix all topics with a mountpoint string.
- mountpoint = ""
- frame {
- max_headers = 10
- max_headers_length = 1024
- max_body_length = 8192
- }
- clientinfo_override {
- username = "${Packet.headers.login}"
- password = "${Packet.headers.passcode}"
- }
- authentication: {
- mechanism = password_based
- backend = built_in_database
- user_id_type = clientid
- }
- listeners.tcp.default {
- bind = 61613
- acceptors = 16
- max_connections = 1024000
- max_conn_rate = 1000
- access_rules = [
- "allow all"
- ]
- authentication: {
- mechanism = password_based
- backend = built_in_database
- user_id_type = username
- }
- ## TCP options
- ## See ${example_common_tcp_options} for more information
- tcp.active_n = 100
- tcp.backlog = 1024
- tcp.buffer = 4KB
- }
- listeners.ssl.default {
- bind = 61614
- acceptors = 16
- max_connections = 1024000
- max_conn_rate = 1000
- ## TCP options
- ## See ${example_common_tcp_options} for more information
- tcp.active_n = 100
- tcp.backlog = 1024
- tcp.buffer = 4KB
- ## SSL options
- ## See ${example_common_ssl_options} for more information
- ssl.versions = ["tlsv1.3", "tlsv1.2", "tlsv1.1", "tlsv1"]
- ssl.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem"
- ssl.certfile = "{{ platform_etc_dir }}/certs/cert.pem"
- ssl.keyfile = "{{ platform_etc_dir }}/certs/key.pem"
- #ssl.verify = verify_none
- #ssl.fail_if_no_peer_cert = false
- #ssl.server_name_indication = disable
- #ssl.secure_renegotiate = false
- #ssl.reuse_sessions = false
- #ssl.honor_cipher_order = false
- #ssl.handshake_timeout = 15s
- #ssl.depth = 10
- #ssl.password = foo
- #ssl.dhfile = path-to-your-file
- }
- }
- gateway.coap {
- ## How long time the connection will be disconnected if the
- ## connection is established but no bytes received
- idle_timeout = 30s
- ## To control whether write statistics data into ETS table
- ## for dashboard to read.
- enable_stats = true
- ## When publishing or subscribing, prefix all topics with a mountpoint string.
- mountpoint = ""
- ## Enable or disable connection mode
- ## If true, you need to establish a connection before send any publish/subscribe
- ## requests
- ##
- ## Default: false
- #connection_required = false
- ## The Notification Message Type.
- ## The notification message will be delivered to the CoAP client if a new
- ## message received on an observed topic.
- ## The type of delivered coap message can be set to:
- ## - non: Non-confirmable
- ## - con: Confirmable
- ## - qos: Mapping from QoS type of the received message.
- ## QoS0 -> non, QoS1,2 -> con.
- ##
- ## Enum: non | con | qos
- ## Default: qos
- #notify_type = qos
- ## The *Default QoS Level* indicator for subscribe request.
- ## This option specifies the QoS level for the CoAP Client when establishing
- ## a subscription membership, if the subscribe request is not carried `qos`
- ## option.
- ## The indicator can be set to:
- ## - qos0, qos1, qos2: Fixed default QoS level
- ## - coap: Dynamic QoS level by the message type of subscribe request
- ## * qos0: If the subscribe request is non-confirmable
- ## * qos1: If the subscribe request is confirmable
- ##
- ## Enum: qos0 | qos1 | qos2 | coap
- ## Default: coap
- #subscribe_qos = coap
- ## The *Default QoS Level* indicator for publish request.
- ## This option specifies the QoS level for the CoAP Client when publishing a
- ## message to EMQX PUB/SUB system, if the publish request is not carried `qos`
- ## option.
- ## The indicator can be set to:
- ## - qos0, qos1, qos2: Fixed default QoS level
- ## - coap: Dynamic QoS level by the message type of publish request
- ## * qos0: If the publish request is non-confirmable
- ## * qos1: If the publish request is confirmable
- ##
- ## Enum: qos0 | qos1 | qos2 | coap
- #publish_qos = coap
- listeners.udp.default {
- bind = 5683
- max_connections = 102400
- max_conn_rate = 1000
- ## UDP Options
- ## See ${example_common_udp_options} for more information
- udp.active_n = 100
- udp.buffer = 16KB
- }
- listeners.dtls.default {
- bind = 5684
- acceptors = 4
- max_connections = 102400
- max_conn_rate = 1000
- ## UDP Options
- ## See ${example_common_udp_options} for more information
- udp.active_n = 100
- udp.buffer = 16KB
- ## DTLS Options
- ## See #{example_common_dtls_options} for more information
- dtls.versions = ["dtlsv1.2", "dtlsv1"]
- dtls.keyfile = "{{ platform_etc_dir }}/certs/key.pem"
- dtls.certfile = "{{ platform_etc_dir }}/certs/cert.pem"
- dtls.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem"
- dtls.handshake_timeout = 15s
- }
- }
- gateway.mqttsn {
- ## How long time the connection will be disconnected if the
- ## connection is established but no bytes received
- idle_timeout = 30s
- ## To control whether write statistics data into ETS table
- ## for dashboard to read.
- enable_stats = true
- ## When publishing or subscribing, prefix all topics with a mountpoint string.
- mountpoint = ""
- ## The MQTT-SN Gateway ID in ADVERTISE message.
- gateway_id = 1
- ## Enable broadcast this gateway to WLAN
- broadcast = true
- ## To control whether accept and process the received
- ## publish message with qos=-1.
- enable_qos3 = true
- ## The pre-defined topic name corresponding to the pre-defined topic
- ## id of N.
- ## Note that the pre-defined topic id of 0 is reserved.
- predefined = [
- { id = 1
- topic = "/predefined/topic/name/hello"
- },
- { id = 2
- topic = "/predefined/topic/name/nice"
- }
- ]
- ### ClientInfo override
- clientinfo_override {
- username = "mqtt_sn_user"
- password = "abc"
- }
- listeners.udp.default {
- bind = 1884
- max_connections = 10240000
- max_conn_rate = 1000
- }
- listeners.dtls.default {
- bind = 1885
- acceptors = 4
- max_connections = 102400
- max_conn_rate = 1000
- ## UDP Options
- ## See ${example_common_udp_options} for more information
- udp.active_n = 100
- udp.buffer = 16KB
- ## DTLS Options
- ## See #{example_common_dtls_options} for more information
- dtls.versions = ["dtlsv1.2", "dtlsv1"]
- dtls.keyfile = "{{ platform_etc_dir }}/certs/key.pem"
- dtls.certfile = "{{ platform_etc_dir }}/certs/cert.pem"
- dtls.cacertfile = "{{ platform_etc_dir }}/certs/cacert.pem"
- }
- }
- gateway.lwm2m {
- ## How long time the connection will be disconnected if the
- ## connection is established but no bytes received
- idle_timeout = 30s
- ## To control whether write statistics data into ETS table
- ## for dashboard to read.
- enable_stats = true
- ## When publishing or subscribing, prefix all topics with a mountpoint string.
- mountpoint = "lwm2m/${username}"
- xml_dir = "{{ platform_etc_dir }}/lwm2m_xml"
- ##
- ##
- lifetime_min = 1s
- lifetime_max = 86400s
- qmode_time_window = 22s
- auto_observe = false
- ## always | contains_object_list
- update_msg_publish_condition = contains_object_list
- translators {
- command {
- topic = "/dn/#"
- qos = 0
- }
- response {
- topic = "/up/resp"
- qos = 0
- }
- notify {
- topic = "/up/notify"
- qos = 0
- }
- register {
- topic = "/up/resp"
- qos = 0
- }
- update {
- topic = "/up/resp"
- qos = 0
- }
- }
- listeners.udp.default {
- bind = 5783
- }
- }
- gateway.exproto {
- ## How long time the connection will be disconnected if the
- ## connection is established but no bytes received
- idle_timeout = 30s
- ## To control whether write statistics data into ETS table
- ## for dashboard to read.
- enable_stats = true
- ## When publishing or subscribing, prefix all topics with a mountpoint string.
- mountpoint = ""
- ## The gRPC server to accept requests
- server {
- bind = 9100
- #ssl.keyfile:
- #ssl.certfile:
- #ssl.cacertfile:
- }
- handler {
- address = "http://127.0.0.1:9001"
- #ssl.keyfile:
- #ssl.certfile:
- #ssl.cacertfile:
- }
- listeners.tcp.default {
- bind = 7993
- acceptors = 8
- max_connections = 10240
- max_conn_rate = 1000
- }
- #listeners.ssl.default: {}
- #listeners.udp.default: {}
- #listeners.dtls.default: {}
- }
|