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

R Plumber API部署至Digital Ocean后连接被拒,该如何调试?

调试连接拒绝问题的步骤
  • 先确认Plumber服务在Droplet上是否正常运行

    • 用进程查询命令检查:ps aux | grep plumber,看有没有Plumber的进程在运行。如果用systemd托管服务,执行systemctl status <你的Plumber服务名称>,查看服务状态和启动日志,确认服务没有崩溃或启动失败。
    • 若服务未运行,先启动服务:systemctl start <服务名称>,再排查启动失败的原因(比如依赖缺失、代码错误)。
  • 验证端口8000的监听状态

    • 执行ss -tulpn | grep 8000,检查输出中是否有Plumber进程,且监听地址为0.0.0.0(允许所有IP访问)或Droplet的公网IP。如果监听地址是127.0.0.1,说明服务只允许本地访问,需要修改Plumber启动代码,指定host = "0.0.0.0",示例:
      pr <- plumber::plumb("your_api_file.R")
      pr$run(host = "0.0.0.0", port = 8000)
      
  • 检查Droplet本地防火墙(UFW)规则

    • 执行ufw status,查看是否存在允许TCP 8000端口入站的规则。如果没有,添加规则:ufw allow 8000/tcp,然后重载防火墙:ufw reload。
  • 检查Digital Ocean云防火墙配置

    • 登录Digital Ocean控制台,找到对应Droplet关联的云防火墙,确认存在允许TCP 8000端口的入站规则,来源可设置为你的客户端IP(更安全)或0.0.0.0/0(允许所有IP访问)。
  • 测试连通性

    • 在Droplet本地执行curl http://localhost:8000,验证服务本身能否正常响应,排除服务内部逻辑问题。
    • 在你的本地机器执行nc -zv <Droplet公网IP> 8000或telnet <Droplet公网IP> 8000,测试端口是否能被外部访问。如果本地测试仍不通,回到前面的防火墙和端口监听步骤排查。
  • 排查反向代理(若使用)

    • 如果用Nginx等反向代理转发请求到8000端口,需确认代理配置是否正确(比如是否正确指向localhost:8000),同时确保反向代理使用的端口(如80/443)已在防火墙中开放。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 02:46:07