我是ssl和openssl的新手。我试图使用.cer文件生成一个curl请求(不使用-k或-insecure标志)。生成.pem文件后,我尝试以以下方式发出POST请求: curl -cacert certificate.pem -XPOST "port?obj1=okay“。
当我使用我的服务器IP地址时,我得到错误消息: curl:(51)无法安全地与对等方通信:请求的域名与服务器的证书不匹配。
如果我使用localhost.localdomain而不是server_ip,则会正确地生成请求。
我知道ssl证书只能证明一个主机名。有没有办法将主机名改为服务器的ip地址而不是localhost.localdomain?
谢谢
发布于 2016-08-08 17:34:28
如果我使用localhost.localdomain而不是server_ip,则会正确地生成请求。
必须使用颁发证书的主机名访问主机。除了使用-insecure之外,没有什么办法可以绕过这个问题,因为您已经指定了您不想做的事情。
我知道ssl证书只能证明一个主机名。
大多数用户代理以及几乎所有的浏览器都支持主题替代名称,这使您可以指定多个名称。浏览器通常会读取前100个SAN。SAN甚至可以支持IP地址。
有没有办法将主机名改为服务器的ip地址而不是localhost.localdomain
这通常是通过DNS完成的。不过,由于看起来您正在尝试使用回送,所以您可能只需编辑主机文件,以包含您想指向回送地址的任何名称。
https://stackoverflow.com/questions/38835197
复制相似问题