从proxy的源码来看 会在进行org.apache.rocketmq.acl.plain.Plai[阿里云消息队列MQ]

从proxy的源码来看 会在进行org.apache.rocketmq.acl.plain.PlainAccessValidator#validate校验,如果proxy都校验不通过,更加不会走broker,这个解决了我第一层疑惑(为什么要在proxy配置plain_acl.yaml才能生效),另外第二层疑惑就是我在proxy的acl_plain.yaml加了一个新的ak/sk 但是broker是没有配置的 竟然请求成功了?broker此时难道不做权限校验吗?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 5.0里面是proxy暴露的用户的, namesrv、broker理论上用户看不见。 所以在proxy上做acl就行,此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

  2. 在您的情况中,您的代理(Proxy)配置了 plain_acl.yaml 文件,其中包含访问控制列表(ACL)规则,用于对客户端请求进行验证。如果请求不符合 ACL 规则,则 Proxy 将拒绝该请求,并返回错误响应。因此,如果您在 Proxy 的 plain_acl.yaml 文件中添加了新的 AK/SK,并且在请求中提供了正确的 AK/SK,那么该请求将被 Proxy 接受,并被发送到 Broker 进行处理。

    Broker 默认情况下会启用 ACL,如果您没有在 Broker 的配置文件中指定明确的 ACL 规则,则默认情况下所有的请求都将被拒绝。因此,如果您没有在 Broker 的配置文件中指定 ACL 规则,并且在请求中提供了正确的 AK/SK,Broker 会拒绝该请求并返回错误响应的。