Я кодирую бота Discord на python. Всякий раз, когда я пытаюсь подключиться к определенному сайту, на моем экземпляре EC2 под управлением Amazon Linux 2 скрипт возвращает следующую ошибку:
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)]
(фактический URL-адрес вырезан.)
Сам бот подключается, работает python: 3.7.4-slim-buster
. Ошибка отсутствует при сборке с использованием образа python: 3.7.4-slim-stretch
.
Я также тестировал тот же сценарий, созданный с базовым образом -buster
на MacOS а также экземпляр GCP Compute Engine, оба не содержат ошибок.
Что мне не хватает? Любые подсказки приветствуются.
По моему мнению, если вы не укажете имя сайта, на котором возникает ошибка, он не поддерживает TLSv1.2, и поэтому OpenSSL не может согласовать соединение. Debian отключил поддержку TLSv1.1 и более ранних версий в OpenSSL, начиная с выпуска Buster , хотя есть предложения, что ее можно повторно включить для каждого приложения , если вы это сделаете наклонный.