导航

签到脚本tls报错排查

#1
问题:1月27号开始签到突然断了,查了下报错的日志报“(Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version”,在网上搜了下发现貌似是tls版本的问题,试了下吐司的网址发现最低只支持tls1.3了,而python的openssl版本是OpenSSL 1.0.2k(可以用这个查:python -c "import ssl; print(ssl.OPENSSL_VERSION)"),而支持tls1.3是好像从OpenSSL 1.1.1开始,所以得升级openssl之后重新编译python

解决:升级openssl之后重新编译python

Ps 中间升级openssl遇到个坑,更新动态链接库数据(echo "/usr/local/openssl/lib" >> /etc/ld.so.conf)的时候,以前有往ld.so.conf写过openssl lib目录,导致写了多行,导致重新加载动态链接库ldconfig -v报错,然后后面编译python的时候就一直有问题,害我排查了好久。。。
2024-01-31
#2
我的签到也报错了。你将可以正常签到的脚本代码发上来呀。
2024-01-31
#3
直接换个ubuntu22.04 完美解决😂
2024-01-31
#4
回复 2# shirly
是环境问题不是脚本问题,主要是论坛好像改了啥现在只支持tls1.3以上,所以本地也要支持tls1.3才行
2024-01-31
#5
回复 3# 无安hello
是哈,换个带openssl1.1.1以上版本的操作系统,这样安装编译的也是可以的
2024-01-31
#6
我一台用来签到的机器也出这问题了,环境是win8.1    python3.6  尝试用其他方式修改脚本,依旧报错,win更新openssl后,利用python查询,依然是原来的openssl版本,是不是应该更新python
2024-02-01
#7
回复 6# noth1ng
windows的话直接更新吧,好像python3.7.4开始就是openssl1.1.1了,python3.7.0~3.7.3的话还可以通过替换python安装目录下openssl的dll文件(libcrypto-1_1.dll、libssl-1_1.dll,这两个文件可以直接从python3.7.4以上的便携安装包里摘过来)
2024-02-01
#8
巧了我也是昨天排查解决的问题😃。Centos7的环境,原Python环境的SSL库是基于OpenSSL 1.0.2,需要先编译升级OpenSSL到1.1.1,再编译升级Python版本。
一个安全工作者
Long way to go....
2024-02-02
#9
升级了openssl还是失败,没想到重新编译python,直接换了centos9完美解决
2024-02-02
#10
安装高版本的openssl后,重新编译下python就好了,编译的时候加上这个参数./configure --with-openssl=/usr/local/openssl1.1.1/(你高版本的openssl安装路径)
穷且益坚,不坠青云之志。