www.abisource.com
只支持已经被破解(或至少削弱)且过时的TLS版本1.0。根据其标头,它是2010年发布的Apache 2.2.15 (Fedora)
!
因此,这似乎与OpenSSL v1.1.1 ssl_choose_client_version unsupported protocol相同,只不过Ubuntu代替了Debian,octool使用了wget而非openvpn。尝试接受的答案:在 [system_default_sect] 下编辑/etc/ssl/openssl.cnf
以降级MinProtocol=TLSv1,并可能为CipherString=DEFAULT:@SECLEVEL=1 -- 服务器的DHE密钥为1k,我不记得它是否在等级2下起作用,尽管它的证书是荒谬的RSA 4k!
更新: 好吧,我下载并安装了Ubuntu 20.04,包括libssl1.1的源代码,并查看了它,他们在这里没有保留Debian方法,他们进行了更改。具体来说,他们没有改变openssl.cnf文件要求TLSv1.2,而是编译 OpenSSL/libssl使默认 SECLEVEL 2,强制SECLEVEL 2使用TLSv1.2(这在上游不是这样)。
然而,您仍然可以通过添加所需的(弱)配置到openssl.cnf来修复它:
openssl_conf = openssl_configuration
我喜欢把它放在最上面,但那只是我的个人偏好。
技术上说可以放在任何章节边界,但在结尾处加三个新章节最容易。
[openssl_configuration]
ssl_conf = ssl_configuration
[ssl_configuration]
system_default = tls_system_default
[tls_system_default]
CipherString = DEFAULT:@SECLEVEL=1
请注意,由于MinProtocol尚未存在,您无需添加它(代码默认设置已经足够),但如果您愿意,可以添加它。
现在它可以工作了:
$ wget https://www.abisource.com/
--2020-06-20 05:11:11-- https://www.abisource.com/
Resolving www.abisource.com (www.abisource.com)... 130.89.149.216
Connecting to www.abisource.com (www.abisource.com)|130.89.149.216|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7687 (7.5K) [text/html]
Saving to: ‘index.html’
index.html 100%[===================>] 7.51K --.-KB/s in 0.002s
2020-06-20 05:11:12 (3.90 MB/s) - ‘index.html’ saved [7687/7687]
正如您所评论的那样,这是一项全局变更。您可以通过编辑您的octool副本并在wget
命令中添加选项--ciphers=DEFAULT:@SECLEVEL=1
来为该特定操作更改它。使用原始的openssl.cnf:
$ wget --ciphers=DEFAULT:@SECLEVEL=1 https://www.abisource.com/
--2020-06-20 05:15:21-- https://www.abisource.com/
Resolving www.abisource.com (www.abisource.com)... 130.89.149.216
Connecting to www.abisource.com (www.abisource.com)|130.89.149.216|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7687 (7.5K) [text/html]
Saving to: ‘index.html.1’
index.html.1 100%[===================>] 7.51K --.-KB/s in 0s
2020-06-20 05:15:22 (330 MB/s) - ‘index.html.1’ saved [7687/7687]
/etc/ssl/openssl.cnf
中我没有找到[section_default_sect]这一部分。我可以直接写入它并写入MinProtocol和CipherString吗? - undefinedDEFAULT:@SECLEVEL=2
时,API 可以正常工作,但是数据库无法连接。如果我切换到DEFAULT:@SECLEVEL=1
,数据库可以正常工作,但是 API 无法连接。如何使它们同时正常工作? - undefined