You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Fedora 34下Apache ActiveMQ Artemis管理控制台外部访问配置问题

Apache ActiveMQ Artemis 控制台外部无法访问解决方案

操作步骤

1. 修改Artemis绑定配置

默认创建的broker会将Web控制台绑定到本地回环地址(127.0.0.1),仅支持本机访问,修改步骤如下:

  • 进入你创建的broker根目录,打开etc/bootstrap.xml文件
  • 找到<web>标签,将bind属性的localhost替换为0.0.0.0,修改后示例:
<web bind="http://0.0.0.0:8161" path="web">
    <app url="console" war="console.war"/>
    <!-- 其他原有配置保持不变 -->
</web>
  • 保存退出文件。

2. 放行防火墙端口

Fedora默认启用firewalld防火墙,未放行的端口外部请求会被直接拦截,执行以下命令放行Artemis控制台默认端口8161:

  • 临时放行(重启防火墙后失效,用于测试):firewall-cmd --add-port=8161/tcp
  • 永久放行:firewall-cmd --add-port=8161/tcp --permanent
  • 重载防火墙规则使永久配置生效:firewall-cmd --reload
  • 验证放行结果:执行firewall-cmd --list-ports,输出中包含8161/tcp即为配置成功。

3. 重启Artemis服务

进入broker根目录的bin文件夹,执行以下命令重启服务使配置生效:

  • 停止服务:./artemis stop
  • 前台启动(用于测试查看日志):./artemis run
  • 后台常驻启动:./artemis-service start

原理解释

  • 服务绑定规则:服务启动时指定的绑定IP决定了可接受请求的来源范围,绑定127.0.0.1时仅处理本机内部发起的请求,绑定0.0.0.0时会处理所有网卡收到的内部、外部请求,这就是Cockpit可访问、Artemis默认不可访问的核心区别之一。
  • 防火墙规则:Cockpit作为Fedora官方自带的管理工具,安装后会自动在防火墙添加9090端口的放行规则,而第三方安装的Artemis不会自动添加8161端口规则,因此默认会被防火墙拦截外部请求。

备选排查方案

如果上述步骤完成后仍无法访问,可临时关闭SELinux验证是否为权限拦截:
执行setenforce 0后尝试访问,如果访问成功可以给8161端口添加SELinux允许规则,不需要长期关闭SELinux。

内容的提问来源于stack exchange,提问作者Spartan Daminator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:15:04