gpt4 book ai didi

ssl - 使用 .cer 的 curl 请求

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:19 28 4
gpt4 key购买 nike

我是 ssl 和 openssl 的新手。我正在尝试使用 .cer 文件生成 curl 请求(不使用 -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?

谢谢

最佳答案

If I use localhost.localdomain instead of the server_ip, the request is generated correctly.

您必须使用已为其颁发证书的主机名访问主机。除了使用 -insecure 之外,curl 确实没有太多解决方法,因为您已经指定不想这样做。

I understand that ssl certificate can only certify one hostname.

大多数用户代理和几乎所有浏览器都支持主题备用名称,这让您可以指定很多。浏览器通常会读取前 100 个 SAN。 SAN 甚至可以支持 IP 地址。

Is there a way to change the hostname to the server's ip address instead of localhost.localdomain

通常这是通过 DNS 完成的。不过,由于看起来您正在尝试使用环回,因此您可能只能编辑 HOSTS 文件以包含您想要指向环回地址的任何名称。

关于ssl - 使用 .cer 的 curl 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38835197/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com