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

无法通过AWS EC2公网IPv4访问运行Uvicorn的FastAPI服务

解决EC2上FastAPI无法通过公网访问的问题

核心问题分析

  • uvicorn启动时绑定127.0.0.1:8000,仅监听EC2实例本地回环请求,公网IP的请求无法被接收
  • 你用https访问,但FastAPI默认只提供http服务,协议不匹配
  • Chrome控制台的crbug/1173575错误是浏览器自身日志,和本次访问失败无关

具体修复步骤

  1. 修改uvicorn启动命令,绑定所有网卡
    执行以下命令启动服务,让FastAPI监听EC2实例的所有网络接口:

    uvicorn main:app --host 0.0.0.0 --port 8000 --reload
    

    启动成功后日志会显示绑定至http://0.0.0.0:8000,此时公网IP可正常访问服务。

  2. 使用正确协议访问
    用http协议访问公网IP的8000端口,示例格式:

    http://<EC2公网IPv4地址>:8000/
    

    若需https访问,需额外配置SSL证书(比如通过Nginx反向代理配合Let's Encrypt,或直接在uvicorn中指定证书文件),测试阶段优先用http验证服务可用性。

  3. 验证安全组与EC2内部防火墙

    • 确认安全组入站规则已开放TCP 8000端口,来源可设为0.0.0.0/0(或限定为你的本地IP提升安全性)
    • 检查EC2实例内部防火墙(如iptables),确保未拦截8000端口入站请求,执行命令查看规则:
      sudo iptables -L
      
      若存在拦截,添加允许规则:
      sudo iptables -A INPUT -p tcp --dport 8000 -j ACCEPT
      
  4. 测试基础API响应
    访问http://<EC2公网IPv4地址>:8000/docs,若FastAPI自动生成的文档页面正常加载,说明服务已正常对外提供。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 17:31:07