curl: (60) SSL: no alternative certificate subject name matches target host name '10.153.114.20'
时间: 2024-03-09 07:47:40 浏览: 20
这个错误提示通常是由于 SSL 证书主题名称不匹配而导致的。可能是你尝试连接的主机在 SSL 证书中被命名为一个不同的名称,而这个名称与你尝试连接的名称不匹配。
解决这个问题的方法是检查 SSL 证书的主题名称,确保它与你尝试连接的主机名称匹配。你可以使用 OpenSSL 工具来查看证书的主题名称,例如:
```
openssl s_client -connect 10.153.114.20:443
```
这将显示 SSL 证书的详细信息,包括主题名称。如果主题名称与你尝试连接的名称不匹配,你需要更新证书或使用正确的主机名称来连接。
相关问题
centos上 curl https接口 报错 no alternative certificate subject name matches target host name '10.153.114.20'
这个报错是因为使用的 SSL 证书的主题名称(Subject Name)与目标主机名不匹配导致的。可以使用以下方法解决:
1. 通过 IP 地址访问 HTTPS 接口时,需要在 curl 命令中加上 -k 参数,忽略 SSL 验证。例如:
```
curl -k https://10.153.114.20/api
```
2. 如果需要使用 SSL 验证,可以在 curl 命令中加上 --resolve 参数,手动解析主题名称与目标主机名的映射关系。例如:
```
curl --resolve 'example.com:443:10.153.114.20' https://example.com/api
```
上面的命令中,'example.com:443:10.153.114.20' 表示将主题名称 example.com:443 解析为 IP 地址 10.153.114.20,然后访问 HTTPS 接口。
3. 如果需要长期解决这个问题,可以考虑将 SSL 证书的主题名称与目标主机名匹配。可以在证书生成时指定主题名称,或者在服务器上配置反向代理,将主题名称与目标主机名映射为相同的值。
curl: (60) peer's certificate has expired.
这个错误通常是由于 HTTPS 证书已过期或无效而引起的。如果您在使用 curl 命令时遇到此错误,可以尝试使用以下选项之一来忽略证书错误:
1. 使用 -k 或 --insecure 选项来忽略证书错误:
```
curl -k https://example.com
```
2. 使用 --cacert 选项指定一个自定义的 CA 证书文件:
```
curl --cacert /path/to/cert.pem https://example.com
```
请注意,使用这些选项将使您的请求变得不安全,因为它们将禁用对服务器证书的验证。所以请尽可能避免使用这些选项。