ssl证书错误,同时使cURL请求到IP地址

我试图发送一个cURL请求到一个IP地址为xxxx的服务器。 它是健康监测系统的一部分。 在服务器上,我已经在端口80和443上为subdomain.example.comconfiguration了虚拟主机。对于SSL证书,我使用了一个* .example.com通配符证书,我在这个服务器上使用了几个服务器。

当我尝试curl到http://xxxx它会得到相应的响应。 但是,当我curl到https://xxxx它给出以下证书错误:

curl:(51)SSL:证书使用者名称'* .example.com'与目标主机名'xxxx'不匹配

我知道这是因为证书是特定于域名,我试图发送一个请求使用IP地址。 但正如我所说,这是我有一个限制(机架空间负载平衡器健康监测)。

有没有工作?

    我会做出这个新的答案,因为它的方向是不一样的。 事实上,它并没有回答所提出的问题,但也许是OP应该寻找的方向。

    使用负载平衡器时的常见configuration是,SSL证书根本不在Web服务器上,而是将SSL切换到负载平衡器。

    最终用户向负载平衡器发出HTTPS请求。 负载均衡器打开SSL,并通过未encryption的HTTP将请求转发到Web服务器,并带有一个标头,告诉Web服务器原始请求已被encryption。 (对于在响应中embeddedURL以及避免通过http提供安全的内容很重要)。

    您可以像往常一样使用域名,但像这样覆盖parsing器:

     curl -v --resolve subdomain.example.com:443:xxxx https://subdomain.example.com/ 

    尽pipe如此,保持很多这样的映射可能是尴尬的。 您可能更喜欢忽略证书不匹配:

     curl --insecure https://subdomain.example.com/ 

    如果你想的话,你可以使用--insecure --verbose和parsing消息来检查证书是否是预期的域名,但这可能比使用--resolve