curl 报错: unable to find ecdh parameters

记一次在请求第三方域名xxx.com时,请求未成功发出去,通过检查网络(Telnet + ping),发现是正常的,在其他服务器和浏览器,是正常访问xxx.com的.

通过在服务器上进行curl 和 wget 时,发现返回这个:

正在解析主机 xxx.com.cn... xx.xx.xx.xx
Connecting toxxxcom.cn|xx.xx.xx.xx|:443... 已连接。
OpenSSL: error:1408D13A:SSL routines:SSL3_GET_KEY_EXCHANGE:unable to find ecdh parameters
无法建立 SSL 连接。

通过查询,发现带参数 --ciphers AES256-SHA 可以正常解决 curl 报错。

SLES 11 uses an old OpenSSL 0.9.8 and cannot handle TLS1.2 ciphers like ECDH (openssl ciphers -v). You can use --ciphers AES256-SHA to fix it.

curl --ciphers AES256-SHA xxx.com.cn
### 解决 `git clone` 时遇到的 SSL 证书问题 当执行 `git clone` 或其他 Git 操作时,如果遇到错误提示 "SSL certificate problem: unable to get local issuer certificate" ,这通常是因为客户端无法验证服务器提供的 SSL 证书的有效性。 #### 方法一:禁用 SSL 验证 可以通过设置环境变量或配置 Git 来忽略 SSL 验证: 通过命令行临时关闭 SSL 验证: ```bash export GIT_SSL_NO_VERIFY=true ``` 永久修改 `.gitconfig` 文件来全局关闭 HTTPS 的 SSL 验证: ```bash git config --global http.sslVerify false ``` 需要注意的是,在生产环境中不建议完全禁用 SSL 验证,因为这样会带来安全风险[^2]。 #### 方法二:安装并指定 CA 证书路径 对于 AIX 系统而言,由于默认目录结构不同,可能需要手动下载受信任的 CA 根证书文件,并告知 Git 使用该文件作为认证依据。具体做法如下: 从官方源获取最新版 cacert.pem 文件: ```bash curl https://curl.se/ca/cacert.pem -o /path/to/cacert.pem ``` 接着更新 Git 设置指向此 PEM 文件位置: ```bash git config --global http.sslCAPath /path/to/ ``` 注意这里 `/path/to/` 应替换为实际存储cacert.pem的位置。不过考虑到AIX特殊性,上述 curl指令中的目标路径需根据实际情况调整。 #### 方法三:针对特定仓库绕过 SSL 检查 仅对该次克隆操作跳过 SSL 检验而不影响其它项目: ```bash GIT_SSL_NO_VERIFY=true git clone https://example.com/repo.git ``` 这种方法适用于一次性任务或是测试场景下快速解决问题的需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值