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

为Elastic Beanstalk单实例Python(FastAPI)应用配置HTTPS遇阻

解决Elastic Beanstalk单实例Python服务HTTPS连接拒绝问题

一、检查安全组与端口监听

  • 确认EB实例安全组已开放443端口入站规则,来源范围按需设置(如0.0.0.0/0)
  • 登录实例执行命令,检查Apache是否监听443端口:
    netstat -tulpn | grep 443
    
    若无输出,说明Apache配置未生效或端口被占用

二、验证Apache SSL配置正确性

  • 查看Apache SSL配置文件(通常路径为/etc/httpd/conf.d/ssl.conf或EB生成的自定义配置),确认:
    • SSLCertificateFile指向certbot生成的cert.pem绝对路径(如/etc/letsencrypt/live/你的域名/cert.pem)
    • SSLCertificateKeyFile指向privkey.pem绝对路径
    • 配置中包含Listen 443 https指令
  • 执行配置语法检查,修复报错:
    httpd -t
    

三、调整证书文件权限

certbot生成的证书默认权限可能限制Apache读取,执行以下命令修正:

sudo chmod 644 /etc/letsencrypt/live/你的域名/*.pem
sudo chown root:root /etc/letsencrypt/live/你的域名/*.pem

注意:仅修改live目录下的符号链接文件,不要改动archive目录权限

四、适配ASGI应用的Apache配置

由于使用ASGI入口文件asgi.py,需补充ASGI支持配置:

  • 安装对应版本的mod_wsgi ASGI组件:
    sudo yum install mod_wsgi-python3
    
  • 在Apache配置中添加ASGI进程配置:
    WSGIScriptAlias / /opt/python/current/app/asgi.py process-group=asgi application-group=%{GLOBAL}
    WSGIDaemonProcess asgi python-path=/opt/python/current/app python-home=/opt/python/run/venv
    WSGIProcessGroup asgi
    
  • 确认EB环境变量中WSGIPath已设置为asgi.py

五、通过日志定位深层问题

  • 查看Apache错误日志,获取HTTPS启动失败细节:
    tail -n 50 /var/log/httpd/error_log
    
  • 查看EB部署日志,验证配置文件是否正确加载:
    tail -n 100 /var/log/eb-engine.log
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 10:20:48