普通网友 2025-08-02 23:20 采纳率: 98.6%
浏览 47
已采纳

问题:EMQX 8083、8084、8883、18083端口作用及配置方法?

**问题:** 在使用 EMQX 时,常见端口如 8083、8084、8883、18083 各自的作用分别是什么?如何正确配置这些端口以支持 MQTT 服务、管理控制台和安全通信?例如,8083 通常用于 MQTT WebSocket 通信,8883 用于 MQTT SSL/TLS 加密连接,而 18083 用于 Dashboard 管理界面。实际部署中,如何通过配置文件(如 emqx.conf)修改这些端口,并确保防火墙和安全策略允许相应流量?此外,8084 端口常用于 WebSocket over SSL(WSS),如何为其配置有效的证书以保障安全通信?
  • 写回答

1条回答 默认 最新

  • 祁圆圆 2025-08-02 23:20
    关注

    EMQX 常见端口解析与配置指南

    1. EMQX 端口概述

    在使用 EMQX 作为 MQTT 消息中间件时,理解其默认端口的功能是部署和运维的基础。EMQX 提供多种协议支持和管理功能,每种功能通常绑定在特定端口上。

    端口号协议/功能用途说明
    8083MQTT WebSocket用于基于 WebSocket 的 MQTT 客户端连接,适用于浏览器端的 MQTT 通信
    8084WebSocket Secure (WSS)用于加密的 WebSocket 连接,需配置 SSL/TLS 证书
    8883MQTT over SSL/TLS用于加密的 MQTT 客户端连接,提供端到端的安全通信
    18083Dashboard 管理界面用于访问 EMQX 的 Web 管理控制台,进行监控、配置、用户管理等操作

    2. 配置 EMQX 端口

    EMQX 的配置文件通常为 emqx.conf,位于 etc/ 目录下。以下是常见端口的配置项示例:

    • MQTT WebSocket 端口 8083:
      listener.ws.external = 8083
    • WSS 端口 8084:
      listener.wss.external = 8084
    • MQTT SSL/TLS 端口 8883:
      listener.ssl.external = 8883
    • Dashboard 端口 18083:
      dashboard.listener.http = 18083

    3. 防火墙与安全策略配置

    在实际部署中,需确保服务器的防火墙规则允许对应端口的流量。以 ufw 为例:

    sudo ufw allow 8083/tcp
    sudo ufw allow 8084/tcp
    sudo ufw allow 8883/tcp
    sudo ufw allow 18083/tcp

    此外,若部署在云平台(如 AWS、阿里云),还需在安全组中开放相应端口,并限制访问源 IP 以增强安全性。

    4. 配置 WSS 端口 8084 的 SSL/TLS 证书

    为确保 WebSocket Secure (WSS) 通信的安全性,需在配置文件中指定证书路径:

    listener.wss.external.keyfile = /etc/emqx/certs/server.key
    listener.wss.external.certfile = /etc/emqx/certs/server.crt
    listener.wss.external.cacertfile = /etc/emqx/certs/ca.crt

    证书文件应为 PEM 格式,且证书域名需与客户端连接地址一致。建议使用 Let's Encrypt 等可信 CA 签发的证书。

    5. 部署流程图

    graph TD A[安装 EMQX] --> B[修改 emqx.conf 配置端口] B --> C[配置防火墙/安全组] C --> D[部署 SSL/TLS 证书(如 8084 和 8883)] D --> E[启动 EMQX 服务] E --> F[访问 Dashboard 验证服务状态]
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 10月23日
  • 创建了问题 8月2日