【问题标题】:Python script on EC2 returns wrong signature type errorEC2 上的 Python 脚本返回错误的签名类型错误
【发布时间】:2020-01-21 00:25:21
【问题描述】:

我正在用 python 编写一个不和谐的机器人。每当我尝试在运行 Amazon Linux 2 的 EC2 实例上连接到特定站点时,脚本都会返回以下错误:

discord.ext.commands.errors.CommandInvokeError: Command raised an exception: ClientConnectorSSLError: Cannot connect to host secure.site.here:443 ssl:None [[SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1076)]

(实际网址被截断。)

机器人本身是 dockerized,运行 python:3.7.4-slim-buster。使用镜像python:3.7.4-slim-stretch构建时不存在该错误。

我还在 MacOS 和 GCP Compute Engine 实例上测试了使用基本映像 -buster 构建的相同脚本,两者都没有错误。

我错过了什么?欢迎任何提示。

【问题讨论】:

标签: python docker amazon-ec2 openssl


【解决方案1】:

首先,我检查了连接到该站点时使用的当前 tls 版本。当时是 1.2。

我在wget 上遇到了同样的错误,所以我理解这个问题不是在 python 本身,而是在 openssl 和系统设置的某个地方。

Ubuntu 20.04.1 LTS 上,我将openssl 从1.1.1f 升级到1.1.1g - 它为我解决了这个问题。我跟着this手册。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多