MQTT/WebSocket 监听器 - 8083

MQTT/WebSocket 监听端口:

  1. listener.ws.external = 8083

接收池大小:

  1. listener.ws.external.acceptors = 4

最大并发连接数:

  1. listener.ws.external.max_connections = 102400

每秒最大创建连接数:

  1. listener.ws.external.max_conn_rate = 1000

TCP 数据接收速率限制:

  1. ## listener.ws.external.rate_limit = 1024,4096

监听器使用的 Zone:

  1. listener.ws.external.zone = external

挂载点:

  1. ## listener.ws.external.mountpoint = devicebound/

访问控制规则:

  1. listener.ws.external.access.1 = allow all

是否验证协议头是否有效:

  1. listener.ws.external.verify_protocol_header = on

EMQ X 集群部署在 NGINX 或 HAProxy 之后,使用 X-Forward-For 来识别原始 IP:

  1. ## listener.ws.external.proxy_address_header = X-Forwarded-For

EMQ X 集群部署在 NGINX 或 HAProxy 之后,使用 X-Forward-Port 来识别原始端口:

  1. ## listener.ws.external.proxy_port_header = X-Forwarded-Port

EMQ X 集群部署在 HAProxy 或 Nginx 时,是否启用代理协议 V1/2:

  1. ## listener.ws.external.proxy_protocol = on

代理协议超时时间:

  1. ## listener.ws.external.proxy_protocol_timeout = 3s

挂起连接的队列的最大长度:

  1. listener.ws.external.backlog = 1024

TCP 发送超时时间:

  1. listener.ws.external.send_timeout = 15s

发送超时时是否关闭 TCP 连接:

  1. listener.ws.external.send_timeout_close = on

用于 MQTT 连接的 TCP 接收缓冲区(os 内核):

  1. ## listener.ws.external.recbuf = 2KB

用于 MQTT 连接的 TCP 发送缓冲区(os 内核):

  1. ## listener.ws.external.sndbuf = 2KB

驱动程序使用的用户级软件缓冲区的大小,不要与选项 sndbuf 和 recbuf 混淆, 它们对应于内核套接字缓冲区。建议使用 val(buffer) >= max(val(sndbuf),val(recbuf)) 来避免不必要的复制带来的性能问题。当设置 sndbuf 或 recbuf 值时,val(buffer) 自动设置为上述最大值:

  1. ## listener.ws.external.buffer = 2KB

是否设置 buffer = max(sndbuf, recbuf):

  1. ## listener.ws.external.tune_buffer = off

是否设置 TCP_NODELAY 标志。如果启用该选项,发送缓冲区一旦有数据就会尝试发送:

  1. listener.ws.external.nodelay = true

是否压缩 Websocket 消息:

  1. ## listener.ws.external.compress = true

Websocket deflate 选项:

  1. ## listener.ws.external.deflate_opts.level = default
  2. ## listener.ws.external.deflate_opts.mem_level = 8
  3. ## listener.ws.external.deflate_opts.strategy = default
  4. ## listener.ws.external.deflate_opts.server_context_takeover = takeover
  5. ## listener.ws.external.deflate_opts.client_context_takeover = takeover
  6. ## listener.ws.external.deflate_opts.server_max_window_bits = 15
  7. ## listener.ws.external.deflate_opts.client_max_window_bits = 15

最大空闲时间:

  1. ## listener.ws.external.idle_timeout = 2h

最大报文大小,0 表示没有限制:

  1. ## listener.ws.external.max_frame_size = 0