尝试使用 SSL 将 Flask 应用程序部署到 AWS Beanstalk:没有可用的包 mod24_ssl

Posted

技术标签:

【中文标题】尝试使用 SSL 将 Flask 应用程序部署到 AWS Beanstalk:没有可用的包 mod24_ssl【英文标题】:Attempting to Deploy Flask App to AWS Beanstalk with SSL: No package mod24_ssl available 【发布时间】:2020-09-25 05:49:29 【问题描述】:

我正在尝试将 Flask 应用程序部署到启用 HTTPS 的 AWS Elastic Beanstalk(单个 EC2 实例)。我成功部署了没有 HTTPS 的应用程序版本,但随后我按照本教程终止了 HTTPS:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/https-singleinstance-python.html

按照文档,我使用他们提供的模板代码创建了一个.ebextensions/https-instance.config 文件(此处截断):

packages:
  yum:
    mod24_ssl : []

files:
  /etc/httpd/conf.d/ssl.conf:
    mode: "000644"
    owner: root
... CERTIFICATES etc. etc. ...

用我的代码上传这个,部署失败。查看日志,错误出现在 yum 尝试安装 mod24_ssl 时配置文件的第一部分:

No package mod24_ssl available

根据我的研究(包括这里的https://forums.aws.amazon.com/thread.jspa?threadID=222977),看来我可能想尝试安装不同的包?我试图用mod_sslhttpd24-mod_ssl 替换mod24_ssl,但都返回相同的错误(各自的包“不可用”)。

帮助非常感谢!谢谢。

【问题讨论】:

【参考方案1】:

请仔细检查您的设置。 mod24_ssl 仅适用于 Amazon Linux 1。Amazon Linux 2 的程序包名称为 mod_ssl。也许你拼错了,改用modssl

亚马逊 Linux 1 (mod24_ssl)

yum info mod24_ssl

Loaded plugins: priorities, update-motd, upgrade-helper
Available Packages
Name        : mod24_ssl
Arch        : x86_64
Epoch       : 1
Version     : 2.4.43
Release     : 1.89.amzn1
Size        : 122 k
Repo        : amzn-updates/latest
Summary     : SSL/TLS module for the Apache HTTP Server
URL         : http://httpd.apache.org/
License     : ASL 2.0
Description : The mod_ssl module provides strong cryptography for the Apache Web
            : server via the Secure Sockets Layer (SSL) and Transport Layer
            : Security (TLS) protocols.

亚马逊 Linux 2 (mod_ssl)

yum info mod_ssl

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Available Packages
Name        : mod_ssl
Arch        : x86_64
Epoch       : 1
Version     : 2.4.43
Release     : 1.amzn2
Size        : 115 k
Repo        : amzn2-core/2/x86_64
Summary     : SSL/TLS module for the Apache HTTP Server
URL         : https://httpd.apache.org/
License     : ASL 2.0
Description : The mod_ssl module provides strong cryptography for the Apache Web
            : server via the Secure Sockets Layer (SSL) and Transport Layer
            : Security (TLS) protocols.

【讨论】:

以上是关于尝试使用 SSL 将 Flask 应用程序部署到 AWS Beanstalk:没有可用的包 mod24_ssl的主要内容,如果未能解决你的问题,请参考以下文章

如何使用应用程序工厂将 Flask 应用程序部署到 AWS Elastic beanstalk

使用 pandas 将 Flask 应用程序部署到 Elastic Beanstalk

尝试将 Flask 应用程序部署到 AWS Elastic Beanstalk 时,我不断收到“ModuleNotFoundError: No module named 'app'”错误消息

如何使用 ssl 启动 flask_socketio 应用程序?

使用 Heroku 部署 Flask

将简单的 Socket.io Flask 应用程序部署到 Google App Engine:仍未解决