前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >出现 curl: (51) SSL: no alternative certificate subject name matches target host name 错误的原因及解决方法

出现 curl: (51) SSL: no alternative certificate subject name matches target host name 错误的原因及解决方法

作者头像
CG国斌
发布2021-12-07 17:59:00
3.6K0
发布2021-12-07 17:59:00
举报
文章被收录于专栏:维C果糖维C果糖

文章目录

问题描述

curl-ssh-51
curl-ssh-51

如上图所示,通过curl发起 POST 请求,类似:

代码语言:javascript
复制
curl http://162.10.123.215:2020/test/callback -X POST -H 'Content-Type:application/json' -d '
{
	"appId":10000
}
'

出现 SSL 51 异常:

curl: (51) SSL: no alternative certificate subject name matches target host name

通过异常描述,我们知道,该错误为:没有与目标主机名匹配的证书。

解决方法

既然该错误为主机名称与证书不匹配,那么解决方案肯定就是要求主机修复证书。

但由于某些原因,我们可能并不能直接干预主机的行为,因此我们可以通过下面的临时解决方案,暂时跳过该问题。

  • 方法 1:添加-k请求参数
solve-curl-ssh-51-k
solve-curl-ssh-51-k
  • 方法 2:添加--insecure请求参数
solve-curl-ssh-51-insecure
solve-curl-ssh-51-insecure

如上述结果图所示,无论是添加-k还是添加--insecure请求参数,均可以解决该异常。

但正如新增参数的含义一样,添加参数的作用就是放弃了 HTTPS 的安全检查,因此该方法是治标不治本,慎用。

更进一步

最后,对于这个问题,说一下我们遇到的场景:

  • 最初的域名是testC.testB.testA,属于三级域名;
  • 后变更域名为testD.testC.testB.testA,属于四级域名。

正常来说,无论是三级域名还是四级域名,通过 HTTP 协议访问都是没有问题的,但是想要使用 HTTPS 协议,则需要购买安全证书,而这个证书是跟域名关联的,例如:

  • 我们购买了*.testB.testA三级域名的 HTTPS 证书;
  • 那我们通过 HTTPS 协议访问*.*.testB.testA四级域名是不可以的。

因此,想要真正解决这个问题,就需要我们升级域名的证书了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 问题描述
  • 解决方法
  • 更进一步
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档