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

在UFW中添加规则后端口4567仍未开放?求助

排查Ubuntu 18开放4567端口后检测不通的问题

嘿,我来帮你梳理下可能漏掉的操作,这种端口开放后在线检测仍显示关闭的情况,通常是以下几个常见原因之一:

  • 确认Sinatra应用的绑定地址
    Sinatra默认只会绑定localhost(127.0.0.1),这意味着只有服务器本地能访问这个端口,外部请求根本连不上。你需要修改应用的启动方式,让它监听所有网卡的地址:

    • 启动命令添加参数:ruby your_app.rb -o 0.0.0.0 -p 4567
    • 或者在Sinatra代码里直接设置:
      set :bind, '0.0.0.0'
      set :port, 4567
      

    这是最容易被忽略的一步,先确认这个设置是否正确。

  • 检查云服务器的安全组/防火墙(如果是云主机)
    如果你用的是云服务商的服务器(比如AWS、阿里云等),仅仅在系统层面用ufw开放端口是不够的。你需要登录云服务商的控制台,找到对应的安全组或网络ACL配置,添加一条入站规则,允许外部访问4567端口。很多时候在线检测失败,都是因为云平台的防火墙没放行这个端口。

  • 验证端口是否被实际监听
    用ss命令检查4567端口是否真的被Sinatra进程监听:
    sudo ss -tulpn | grep 4567
    如果没有任何输出,说明你的Sinatra应用没有正常启动,或者没有绑定到4567端口,先把应用的启动问题解决。

  • 检查是否有其他防火墙规则冲突
    Ubuntu 18中,ufw是iptables的前端管理工具,但如果之前手动配置过iptables规则,可能会和ufw的规则冲突。可以用以下命令查看所有iptables规则:
    sudo iptables -L -n
    看看有没有拒绝4567端口入站流量的规则,如果有,需要清理这些冲突规则。

  • 重启ufw确保规则生效
    虽然ufw添加规则后一般即时生效,但有时候重启一下ufw能解决一些奇怪的缓存问题:
    sudo ufw disable && sudo ufw enable

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:16:09