我是ssl和openssl的新手。我正在尝试使用.cer文件生成卷曲请求(不使用-k或-insecure标志)。 生成.pem文件后,我尝试按以下方式发出POST请求: curl --cacert certificate.pem -XPOST“https://server_ip:server_port?obj1=okay”
当我使用我的服务器IP地址时,收到错误消息:curl:(51)无法与对等方安全通信:请求的域名与服务器的证书不匹配。
如果我使用localhost.localdomain而不是server_ip,则会正确生成请求。
我知道ssl证书只能证明一个主机名。有没有办法将主机名更改为服务器的IP地址而不是localhost.localdomain?
谢谢
答案 0 :(得分:0)
如果我使用localhost.localdomain而不是server_ip,则会正确生成请求。
您必须使用已颁发证书的主机名访问主机。除了使用你已经指定过你不想做的-insecure
之外,还有很多方法可以解决这个问题。
我知道ssl证书只能证明一个主机名。
大多数用户代理以及几乎所有浏览器都支持使用主题备用名称,它允许您指定多个。浏览器通常会读取前100个SAN。 SAN甚至可以支持IP地址。
有没有办法将主机名更改为服务器的IP地址而不是localhost.localdomain
通常是通过DNS完成的。虽然,因为看起来您正在尝试使用环回,但您可能只能编辑HOSTS文件以包含您想要指向环回地址的任何名称。