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

部署在AWS EC2的Django项目网站无法访问,gunicorn、nginx正常,安全组已放通HTTP/HTTPS

AWS EC2部署Django项目公网无法访问排查方案
  • 首先确认EC2实例的公网IP/弹性IP是否正常,排查是否因实例重启导致公网IP发生变更,访问时使用的IP是否与当前实例公网IP一致
  • 检查Nginx配置是否正确
    • 确认Nginx配置中监听的端口为80/443,server_name参数填写的是你访问站点使用的公网IP或域名
    • 在EC2实例本地执行curl 127.0.0.1:80,验证是否能正常返回Django站点内容,若本地可正常返回,则说明Nginx与gunicorn联动正常,问题出在公网访问链路
    • 查看Nginx错误日志定位问题,默认日志路径为/var/log/nginx/error.log
  • 检查EC2实例所属子网的网络ACL规则,安全组为实例级别的访问控制,网络ACL为子网级别的访问控制,需要确认网络ACL已放行80、443端口的入站和出站流量
  • 检查EC2实例操作系统内置的防火墙规则,确认已放行80、443端口
    • Ubuntu系统执行ufw status查看端口放行状态
    • CentOS/RHEL系统执行firewall-cmd --list-all查看端口放行状态
  • 检查Django项目settings.py中的ALLOWED_HOSTS配置,确认你访问站点使用的公网IP或域名已添加到配置列表中,未添加的情况下Django会直接返回400拒绝访问
  • 若配置了HTTPS访问,检查SSL证书路径、域名匹配度、证书有效期是否正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:42:04