首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许匿名内部连接的EMQX配置

允许匿名内部连接的EMQX配置
EN

Stack Overflow用户
提问于 2020-01-27 14:23:36
回答 2查看 1K关注 0票数 0

我正在使用emqx作为我的传感器网络的mqtt代理。这是我想要的配置。我希望允许内部和外部连接有两个不同的侦听器。

监听器1外部: 0.0.0.0:8883不允许匿名连接,此侦听器用于我的VPC之外的传感器

侦听器2内部: 127.0.0.1:11883允许匿名连接,此侦听器用于运行在同一台计算机(localhost)上的几个服务

这是我的配置文件(相关选项)

代码语言:javascript
复制
##--------------------------------------------------------------------
## Authentication/Access Control
##--------------------------------------------------------------------

allow_anonymous = false

##--------------------------------------------------------------------
## Internal Zone
##--------------------------------------------------------------------

zone.internal.allow_anonymous = true


##--------------------------------------------------------------------
## Listeners
##--------------------------------------------------------------------

listener.tcp.external = 0.0.0.0:8883

listener.tcp.external.zone = external


##--------------------------------------------------------------------
## Internal TCP Listener for MQTT Protocol
##--------------------------------------------------------------------

listener.tcp.internal = 127.0.0.1:11883

listener.tcp.internal.zone = internal

侦听器1在我的自定义身份验证器API中非常好地工作。

但是侦听器2(内部侦听器)并不像预期的那样工作。它不允许匿名连接,并向我的API身份验证器发送auth请求。

我做错什么了吗?

(谢谢你的帮助:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-02 10:52:27

在讨论这个问题的基础上回答问题https://github.com/emqx/emqx/issues/3225

问题是HTTP插件似乎没有遵守区域设置。为了达到内部区域的配置,我们必须使用忽略文档中提到的HTTP。

身份验证成功HTTP 现状代码: 200 忽略此认证HTTP 状态代码: 200正文:忽略 身份验证失败HTTP 地位代码: 200以外

一旦解决了这个问题,下面的EMQX配置就可以工作了。

代码语言:javascript
复制
# Global 
allow_anonymous = false
# external
zone.external.allow_anonymous = false
listener.tcp.external = 0.0.0.0:1883
# internal
zone.internal.allow_anonymous = true
listener.tcp.internal = 127.0.0.1:11883

此设置确保MQTT客户端能够:

  • 匿名从本地主机11883连接
  • 从我的VPC外部用HTTP连接1883年,并且
  • 无法从我的VPC之外匿名连接

在我看来,最好设置内部区域以允许匿名连接本身绕过HTTP auth。

票数 2
EN

Stack Overflow用户

发布于 2020-01-29 07:30:25

昨天,我在emqX github存储库上创建了一个问题。也许你想遵循这个问题的解决方案。https://github.com/emqx/emqx/issues/3225

答案是否定的,但我也在为同样的问题而挣扎。我希望这能使我们找到解决办法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59933015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档