当使用 Python 3.8.16 的相同配置通过时,使用 Python 3.11.x 的 AWS AppRunner 运行状况检查失败

问题描述 投票:0回答:1

我一直在尝试在 AWS AppRunner 上部署 django Web 应用程序。 我按照 AWS 教程here进行操作,该教程用于部署在 python 3.8.16 上运行的应用程序。 我尝试遵循相同的过程,但使用 AppRunner 支持的 python 3.11.9,但我遇到了部署失败运行状况检查的连接错误: AppRunner 事件日志将输出:

协议运行状况检查失败
    TCP
  • [端口:“8000”]。检查您配置的端口号。有关更多信息,请参阅应用程序日志。
    ID 为 xxxxxxxxxx 的部署失败。失败原因:健康检查失败。
  • 应用程序日志将输出:

因“NewConnectionError('
    : 无法建立新连接:[Errno 101] 网络无法访问”而导致连接中断后重试(重试(total=4,connect=None,read=None,redirect=None,status=None)) ')': /simple/asgiref/
  • 我确保在startup.sh中将pip和python的引用分别更改为pip3和python3,并在apprunner.yaml中将“python3”更改为“python311”,将运行时版本更改为“3.11.9”。 我尝试更改TCP端口(尝试过8000和8080),并尝试将健康检查协议更改为HTTP,将端口更改为80,但无济于事。我还尝试广泛更改安全组安排(包括允许从相应端口上的任何 IP 地址进行连接),并使用 django-health-check 3.18.2。 当我使用相同的设置重试但将构建和运行环境更改为 python 3.8 时,一切都很顺利。

我在这个问题上花了几天时间,所以部分发布供其他人查找,但同时也问:3.11.x 运行状况检查是否有本质上的不同,使其与 3.8 不同?或者这是 AppRunner 的一个错误?

django amazon-web-services python-3.11 amazon-app-runner aws-app-runner
1个回答
0
投票

© www.soinside.com 2019 - 2024. All rights reserved.