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

如何在vast.ai实例中放行HTTP流量?FastAPI+Nginx部署问题

解决vast.ai上FastAPI+Nginx部署后无法访问的问题

核心排查方向:vast.ai的端口映射与防火墙规则

vast.ai没有AWS那样可视化的流量放行开关,需通过端口映射配置和实例内部防火墙规则来解决问题,以下是具体操作步骤:

1. 确认vast.ai实例的端口映射设置

  • 启动实例时,必须在配置界面指定要暴露的端口,格式为外部端口:内部端口(裸机部署)或主机端口:容器端口(Docker部署),比如将外部端口映射到Nginx监听的80端口。
  • 若已启动实例,进入实例详情页的"Ports"或"Network"选项,添加端口映射规则。注意vast.ai可能分配高位外部端口(如30000+),访问时需使用实例公网IP:外部端口的形式,而非直接用IP。

2. 检查实例内部防火墙规则

  • 登录实例后,执行sudo iptables -L查看当前规则,确认Nginx监听的内部端口(如80、443)是否允许入站流量。
  • 若未放行,添加对应规则:
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  • 若使用ufw防火墙,执行:
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload
    

3. 验证Nginx服务状态与监听端口

  • 确认Nginx正常运行:sudo systemctl status nginx,未启动则执行sudo systemctl start nginx。
  • 检查监听端口:sudo netstat -tulpn | grep nginx,确保监听地址为0.0.0.0:80(而非仅127.0.0.1:80,否则外部无法访问)。
  • 若仅监听本地回环地址,修改Nginx配置文件(通常在/etc/nginx/sites-available/default),将listen指令改为listen 0.0.0.0:80;,再重启Nginx:sudo systemctl restart nginx。

4. 验证FastAPI与Nginx的反向代理配置

  • 检查Nginx配置中的反向代理规则,确保指向FastAPI服务地址(如http://127.0.0.1:8000),示例配置:
    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    
  • 测试配置语法:sudo nginx -t,无错误后重启Nginx。

5. 测试实例内部连通性

  • 在实例内执行curl http://localhost:80,若能返回Nginx首页内容,说明服务本身正常,问题出在外部网络访问层面。
  • 执行curl http://<实例公网IP>:<外部映射端口>,若仍无法访问,重新检查端口映射和防火墙规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:16:01