You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04在公司代理环境下的SSL问题求助

Ubuntu 22.04在公司代理环境下的SSL问题求助

嘿,我帮你分析下这个问题——你遇到的unsafe legacy renegotiation disabled错误,其实是Ubuntu 22.04自带的OpenSSL 3.0搞的鬼。OpenSSL 3.0默认禁用了不安全的旧版SSL重协商机制,但你们公司的代理大概率还在使用不支持安全重协商的老配置,所以浏览器(因为有自己的适配逻辑)能正常用,但系统级的命令行工具比如wget、curl就卡壳了。

下面给你几个一步步解决的方法:

1. 让OpenSSL允许旧版重协商

这是最核心的解决步骤,我们需要给OpenSSL加个自定义配置来启用这个选项(注意:这只是针对公司内网代理的临时妥协,别在公共网络环境这么用):

  • 先创建一个存放配置片段的目录:
sudo mkdir -p /etc/ssl/openssl.cnf.d/
  • 写入配置内容:
sudo tee /etc/ssl/openssl.cnf.d/legacy-renegotiation.cnf <<EOF
openssl_conf = openssl_init

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
Options = UnsafeLegacyRenegotiation
EOF

临时测试用

如果只是想先验证下是否有效,可以在执行命令时临时指定这个配置:

OPENSSL_CONF=/etc/ssl/openssl.cnf.d/legacy-renegotiation.cnf wget -v https://ubuntu.com/server/docs/security-trust-store

全局永久生效

要让所有命令行工具都自动用这个配置,把路径加到系统环境变量里:

echo "OPENSSL_CONF=/etc/ssl/openssl.cnf.d/legacy-renegotiation.cnf" | sudo tee -a /etc/environment

之后重启系统,或者执行source /etc/environment让配置立刻生效。

2. 别忘了设置命令行代理

浏览器可能自动获取了公司的代理设置,但命令行工具不会,所以得手动配置:

export http_proxy=http://你的代理地址:端口号
export https_proxy=http://你的代理地址:端口号

如果代理需要账号密码,格式就是http://用户名:密码@代理地址:端口号。要是想永久生效,把这两行加到~/.bashrc或者/etc/profile里就行。

3. 再确认下证书是否真的导入成功

你之前的证书导入步骤是对的,但可以再检查一遍:

ls /etc/ssl/certs | grep myorg

要是能看到一个以哈希值命名、指向myorg.crt的链接文件,说明导入没问题;如果看不到,就重新执行update-ca-certificates -f强制更新一下。

做完这些,再试试wget或者curl,应该就能正常建立SSL连接了。

备注:内容来源于stack exchange,提问作者Cladius Fernando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:45:28