EMQX 使用80/443端口无法连接

EMQX的ws/wss设定为端口80/443端口时无法连接

1、已经设置好证书,并给emqx足够权限使用80/443端口,防火墙已经关闭,安全策略已经放行这两个端口,并且确认没有其他程序占用端口或者端口冲突。
2、端口扫描工具扫描80/443端口开启,并有监听。
3、MQTTX直接使用IP+端口号(80/443)进行连接能够正常连接。(由此再次确认监听和端口配置没有问题)
4、改变端口号到非80/443以外的任意端口,MQTTX使用域名+端口号进行连接也能够正常连接,并且验证证书是通过的。(由此再次确认wss证书配置正确)
5、但是MQTTX使用域名+端口号(80/443)进行连接时一直无法连接,报错:IP:拒绝连接。其中的IP地址解析正确。
6、使用微信小程序开发工具模拟小程序连接EMQX,使用域名+端口号(非80/443端口)域名连接,连接成功。
7、使用微信小程序开发工具模拟小程序连接EMQX,使用域名+80/443端口域名连接,无法连接。查看报错日志,连接的时候已经自动将80/443的端口号省略掉。推测是连接的时候由于少了端口号导致EMQX拒绝连接。

环境信息

  • EMQ X 版本:EMQX Broker4.2.8
  • 操作系统及版本:Centos8.2
  • 其他:阿里云服务器和本地测试都是一样的情况,系统版本试过centos7.6/8.2,EMQX版本4.1.3/4.2.8都试过,问题都一样。

以上问题可以复现,并且尝试过更换系统版本或者EMQX版本,确认和系统/EMQX版本无关。仅在使用80/443这两个会被默认省略掉端口号的接口的时候会出现。

附上微信小程序调试截图
1

中间有挂 LB 之类的吗?

在 emqx 或者 LB 之类的抓包看看呢 是不是报文还没过去…或者过去了但是被emqx拒绝了

中间没挂任何东西,没有设置任何转发。直接EMQX监听的80/443

中间没挂任何东西,没有设置任何转发。直接EMQX监听的80/443。应该是被EMQ给拒绝了。
这个要怎么解决?

在 EMQ 机器上抓包看看

问题已经解决。不是EMQ的问题,是之前域名没有备案,备案完成后已经可以访问了

1 个赞