curl 报错: unable to find ecdh parameters

本文讲述了在SLES11系统中使用curl请求第三方域名xxx.com.cn时遇到的SSL连接问题,通过网络诊断发现是由于旧版OpenSSL导致的,通过指定--ciphersAES256-SHA参数成功解决了问题。

记一次在请求第三方域名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
在 CloudStack 中添加主机时遇到错误 **"Unable to add the host: Cannot find the server resources at http://10.23.60.135"**,通常表明管理服务器无法通过指定的 URL 与目标主机上的 CloudStack Agent 建立通信。以下是可能的原因及对应的解决方案: ### 1. 检查主机网络连接 确保管理服务器能够通过网络访问目标主机的 `http://10.23.60.135` 地址,并且该地址可以正常响应请求。可以通过以下命令测试连通性: ```bash ping 10.23.60.135 curl -v http://10.23.60.135 ``` 如果 `curl` 请求失败或返回非 HTTP 200 状态码,则表示目标主机未正确运行 CloudStack Agent 或服务端口未开放[^1]。 ### 2. 验证 CloudStack Agent 是否正常运行 登录到目标主机并检查 CloudStack Agent 是否正在运行: ```bash systemctl status cloudstack-agent ``` 如果服务未启动,尝试启动它: ```bash systemctl start cloudstack-agent ``` 此外,查看 `/var/log/cloudstack/agent/agent.log` 日志文件,以排查是否有任何启动失败或配置问题的迹象[^1]。 ### 3. 检查防火墙设置 确保目标主机的防火墙允许来自管理服务器的入站连接,尤其是 TCP 端口 8250(CloudStack Agent 默认监听的端口)。可以使用以下命令临时禁用防火墙进行测试: ```bash systemctl stop firewalld ``` 如果此时问题解决,则需要配置防火墙规则以允许特定端口的流量。 ### 4. 检查主机上是否已正确安装和配置 CloudStack Agent 确认目标主机上已经正确安装了 CloudStack Agent,并且其配置文件 `/etc/cloudstack/agent/agent.properties` 中的参数如 `host`、`port` 和 `resource` 等配置无误。例如: ```properties host=10.23.60.135 port=8250 resource=com.cloud.hypervisor.kvm.resource.KVMHostResource ``` ### 5. 检查 KVM Hypervisor 的相关配置 如果目标主机是 KVM 类型的计算节点,还需确保 KVM 及其相关组件(如 libvirt)已正确安装和配置。检查 `/var/log/libvirt/libvirtd.log` 文件以获取潜在的 hypervisor 错误信息。 ### 6. 查看系统日志 `/var/log/messages` 如引用中提到,查看 `/var/log/messages` 可能会提供一些关于服务启动失败或网络配置问题的额外线索。使用以下命令查看最近的日志条目: ```bash tail -n 100 /var/log/messages ``` ### 7. 确保时间同步 时间不同步可能导致认证失败等问题。确保所有主机的时间与 NTP 服务器保持同步,可以使用以下命令进行手动时间同步: ```bash ntpdate <NTP_SERVER_IP> ``` ### 8. 检查 SSL/TLS 配置(如适用) 如果启用了 HTTPS,需确保证书配置正确,并且管理服务器信任目标主机的 SSL 证书。否则,可能会因 SSL 握手失败而导致连接中断。 ### 9. 重新安装 CloudStack Agent 如果上述步骤均未能解决问题,可以尝试卸载并重新安装 CloudStack Agent。首先删除现有安装包,然后从官方源重新安装: ```bash yum remove cloudstack-agent yum install cloudstack-agent ``` ### 10. 检查管理服务器的配置 最后,检查 CloudStack 管理服务器的配置,确保其指向正确的主机 IP 地址和端口。同时,查看管理服务器的日志 `/var/log/cloudstack/management-server.log`,寻找与添加主机相关的错误信息。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值