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

部署Django应用至AWS Elastic Beanstalk时遇连接超时问题求助

解决AWS Elastic Beanstalk部署Django的/members/超时问题

可能的原因及排查修复步骤

1. 确保Django监听正确地址

  • 本地runserver默认只监听127.0.0.1,但Elastic Beanstalk环境中,Django需要监听0.0.0.0才能被Nginx代理。检查启动命令是否包含0.0.0.0:8000:
    python manage.py runserver 0.0.0.0:8000
    
  • 在.ebextensions/django.config配置文件中确认启动命令:
    option_settings:
      aws:elasticbeanstalk:container:python:
        Command: "python manage.py runserver 0.0.0.0:8000"
    

2. 验证/members/路由配置

  • 本地测试/members/是否正常访问,确认项目根urls.py已正确引入members应用的路由:
    from django.urls import include, path
    
    urlpatterns = [
        path('', include('main.urls')),
        path('members/', include('members.urls')),
    ]
    
  • 检查members应用的urls.py是否有对应视图映射,且视图函数无阻塞操作(如长时间数据库查询、外部API调用)。

3. 排查数据库连接问题

  • /members/页面通常依赖数据库,确认EB环境变量中已配置正确的数据库凭据(在EB控制台「配置>软件>环境变量」中设置)。
  • 查看Django日志文件/var/log/django.log,是否存在数据库连接错误或查询超时信息。

4. 调整Nginx超时设置

  • 若视图处理时间过长导致超时,通过.ebextensions/nginx.config增加Nginx代理超时时间:
    files:
      "/etc/nginx/conf.d/timeout.conf":
        mode: "000644"
        owner: root
        group: root
        content: |
          proxy_connect_timeout 60s;
          proxy_send_timeout 60s;
          proxy_read_timeout 60s;
    
  • 重新部署应用生效。

5. 修正ALLOWED_HOSTS配置

  • 临时调整为包含本地地址和EB域名,排除域名限制问题:
    ALLOWED_HOSTS = ['my-tennis-club-env-new.eba-gysp36xc.us-west-1.elasticbeanstalk.com', '127.0.0.1']
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:22:21