mac 安装后,emqx start后, http://localhost:18083/#/login?to=/dashboard/overview 可以访问, 但把localhost 换成本地局域网ip 无法访问,
mqx console
WARNING: DB Backend is RLOG, but an incompatible OTP version has been detected. Falling back to using Mnesia DB backend.
WARNING: ulimit -n is 256; 1024 is the recommended minimum.
WARNING: Default (insecure) Erlang cookie is in use.
WARNING: Configure node.cookie in /usr/local/Cellar/emqx/5.8.6/etc/emqx.conf or override from environment variable EMQX_NODE__COOKIE
WARNING: NOTE: Use the same cookie for all nodes in the cluster.
EMQX_NODE__ROLE [node.role]: core
EMQX_NODE__DB_BACKEND [node.db_backend]: mnesia
Erlang/OTP 26 [erts-14.2.5.8] [source] [64-bit] [smp:16:16] [ds:16:16:8] [async-threads:4] [dtrace]
Listener tcp:default on 0.0.0.0:1883 started.
Listener ssl:default on 0.0.0.0:8883 started.
Listener ws:default on 0.0.0.0:8083 started.
Listener wss:default on 0.0.0.0:8084 started.
Listener http:dashboard on :18083 started.
EMQX 5.8.6 is running now!
Restricted Eshell V14.2.5.8 (press Ctrl+G to abort, type help(). for help)
v5.8.6(emqx@0.0.0.0)1>
监听的是实际0.0.0.0,如果你填对ip 那肯定是能访问的.
排查的方法.你用MQTTx连接Local host 1883能通,然后再连接你局域网IP 1883 都应该能通。
通过上面步骤你就知道了,1883和局域网IP都没写错,这个时候再去开18083,应该是一样的。能通。如果还是不通,那肯定是你的URL写错了。严格的对比一下,两个有什么区别
MQTTx连接Local host 1883能通, 但是 局域网ip不通

ipconfig getifaddr en0
192.168.68.234
http://192.168.68.234:18083/#/login?to=/dashboard/overview 这个不行

如果 emqx 的日志里面没有其它的错误的话,看起来更像是你的网络配置有问题:
不过你可以这样排除一下是不是 emqx 的问题。
netstat 看看emqx 占用的 1883 端口是不是 0.0.0.0
如果是
- 先 ping 一下 192.168.68.234
- 再 telnet 一下 192.168.68.234 1883
- nc -v -w 5 192.168.68.234 1883
这时如果 telnet 且 nc 都不通。那就是你的网卡设置的问题。
确定是网卡问题后,先把emqx 停了:
- 使用 nc 监听一下 0.0.0.0 的 1883
nc -l 1883
- 使用 nc 连一下127.0.0.1的端口。
nc -v -w 5 127.0.0.1 1883
就会显示
Connection to 127.0.0.1 port 1883 [tcp/ibm-mqisdp] succeeded!
- 再使用 nc 连192.168.68.234的端口
nc -v -w 5 192.168.68.234 1883
如果显示出和 2 不一样的结果,那就是网卡有问题。得你自己找找原因了。
都是通的
node {
name = “
emqx@0.0.0.0”
cookie = “emqxsecretcookie”
data_dir = “data”
}
cluster {
name = emqxcl
discovery_strategy = manual
}
dashboard {
listeners {
http.bind = 18083
# https.bind = 18084
https {
ssl_options {
certfile = “${EMQX_ETC_DIR}/certs/cert.pem”
keyfile = “${EMQX_ETC_DIR}/certs/key.pem”
}
}
}
}
我看不出什么问题,一般的 ECONNRESET" (Connection Reset) 错误通常表示连接被远程主机(服务器端)突然关闭或重置。这个错误可能由多种原因造成:
- 服务器突然关闭连接:服务器应用程序可能因为异常、超时或其他原因主动关闭了连接
- 防火墙或安全软件干扰:中间的防火墙、安全软件或网络设备可能检测到了某些模式并重置了连接
你的 telnet 都能通。可以看看是不是有什么网络代理没关。
PS:虽然节点名可以显示设置为 emqx@0.0.0.0,但是并不建议这么设置,最好设置为具体的 ip emqx@127.0.0.1 或者:emqx@192.168.68.234