freenom
freenom copied to clipboard
bug_report 脚本执行出错 "cURL error 35"
描述问题
推送至tg bot消息显示 "cURL error 35: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to my.freenom.com:443"
在服务器上使用 docker logs 查询无当日日志信息
已确认 VERIFY_SSL=0
截图&日志


你做了哪些尝试
1. 重启容器, 报错还是会出现
2. 手动登录问题账号, 账号可以登录
环境信息
- 系统: OpenWrt R22.8.18 by lean & lienol
- PHP 版本: 未知
- 脚本版本: 0.5
- 是否 Docker: 是
额外的备注 前几天重启过几次服务器, 其中一个freenom账号频繁报相同的错误(cURL error 35), 其它账号则正常
奇怪的是为什么第二个账户就正常,你能进到 docker 容器里吗?试试 docker exec -it freenom /bin/bash
在容器里手动执行 php /app/run看看是不同样的错误输出
在容器里手动执行
php /app/run看看是不同样的错误输出
输出结果跟前几天的情况一致(频繁失败的账号还是失败了)

我猜可能跟你账号没关系,你试试把两个账号的位置互换,看看是不是永远都是第一次发起请求的账号会失败?
另外你在容器里,执行curl -v https://my.freenom.com看看输出的内容
另外你在容器里,执行
curl -v https://my.freenom.com看看输出的内容
/app # curl -v https://my.freenom.com
* Trying 63.33.210.48:443...
* Connected to my.freenom.com (63.33.210.48) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
* subject: CN=my.freenom.com
* start date: Apr 19 00:00:00 2022 GMT
* expire date: Apr 29 23:59:59 2023 GMT
* subjectAltName: host "my.freenom.com" matched cert's "my.freenom.com"
* issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA
* SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7f92345b00)
> GET / HTTP/2
> Host: my.freenom.com
> user-agent: curl/7.76.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 302
< date: Tue, 20 Sep 2022 02:01:19 GMT
< content-type: text/html; charset=UTF-8
< content-length: 0
我猜可能跟你账号没关系,你试试把两个账号的位置互换,看看是不是永远都是第一次发起请求的账号会失败?
确实. 对调之后还是第一个账号失败
试试构建一个更新的镜像,把 Dockerfile 里的 FROM php:7.4.19-alpine3.13 改为 FROM php:8.1.11RC1-alpine3.16,然后使用 docker 构建一个新的容器,看看新容器里能否重现
我手边没有软路由,有没有办法在虚拟机或者用其它任何方式装一个跟你一模一样的环境?
试试构建一个更新的镜像,把 Dockerfile 里的 FROM php:7.4.19-alpine3.13 改为 FROM php:8.1.11RC1-alpine3.16,然后使用 docker 构建一个新的容器,看看新容器里能否重现
这个具体该如何操作? 没搞过Dockfile.. 我下午尝试把账号信息都写在multi配置项中, 跑了一遍没报错. 接下来几天再观察观察
配置写的位置跟网络没关系
想了个曲线救国法,配置文件中第一条随便瞎写个账号。 没弄过Dockerfile