SSLError:[Errno 1] _ssl.c:510:错误:1409442E:SSL例程:SSL3_READ_BYTES:tlsv1 alert protocol version

问题描述 投票:3回答:3

django-push-notifications正在使用沙箱和生产证书。但是从昨天开始,它失败了以下错误。

SSLError:[Errno 1] _ssl.c:510:错误:1409442E:SSL例程:SSL3_READ_BYTES:tlsv1 alert protocol version

我们的代码或服务器没有变化。任何想法,为什么它停止工作。

UPDATE

OpenSSL 1.0.1f 2014年1月6日Ubuntu:14.04

我升级到OpenSSL 1.1.1a 2018年11月20日,但结果相同。

我还使用以下内容检查了我的python支持的TLS版本并得到了“TLS 1.3”。

python -c“import requests; print(requests.get('https://www.howsmyssl.com/a/check',verify = False).json()['tls_version'])”

ios openssl apple-push-notifications django-push-notifications
3个回答
1
投票

有些人升级到tls 1.2其他人在无所事事后再次工作。感觉像某些苹果服务器的问题。

我们在连接代码中添加了重试逻辑,因为它遇到了其中一个糟糕的苹果服务器。

https://forums.developer.apple.com/thread/114489

关于苹果论坛https://forums.developer.apple.com/content?query=push的其他几份报告


0
投票

从OpenSSL的角度来看,客户端SSL Socket连接到SSL服务器失败,因为客户端支持的SSL / TLS套接字版本都没有在服务器上启用(或支持)。

所以我的猜测是服务器已经限制了它支持的SSL / TLS的协议版本,以至于openssl客户端无法再处理它。现在只猜TLS 1.2和TLS 1.3。也许是TLS 1.1。

您是否可以将客户端OpenSSL版本更新到更高版本以查看它是否修复了连接问题?

此外,检查(如果可以)检查您在客户端启用哪些协议版本以确保启用所有最高协议版本(TLS 1.1,TLS 1.2,TLS1.3 - 如果您有openssl 1.1.1)可能会有所帮助。


0
投票

看起来这是一个苹果服务器问题。它现在已经解决了。推送通知现在按预期工作。

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