我正在开发,需要访问https://localhost。我知道证书不匹配。我只想让curl忽略它。目前,它给我以下错误消息:

curl: (51) SSL peer certificate or SSH remote key was not OK


是否可以告诉curl执行访问?

评论

unix.stackexchange.com/questions/60750/…的副本

#1 楼

是的,你可以做到。从curl --helpman curl开始:


-k, --insecure

(SSL)此选项明确允许curl执行“不安全的” SSL
连接和传输。尝试使用默认安装的CA证书捆绑包来确保所有SSL连接的安全性。
除非使用-k,
--insecure,否则所有被视为“不安全”的连接都会失败。

有关更多详细信息,请参见此在线资源:
http://curl.haxx.se/docs/sslcerts.html


评论


是的,我自己找到了。昨天我在找它,它不在那儿! :)

– blueFast
2013年1月16日23:12

哇!狡猾的回覆是什么?

–黑暗无耻
14年7月29日在16:21

对此反应不佳感到不满意。如果您不想回答问题,那就不要。

–迈克尔
16年7月6日在17:13

@Michael回答问题并要求人们使用RTFM并不是互斥的选择(因为我相信我对这个问题的回答完美地说明了这一点)。你们两个都可以

– Mathias R. Jessen
16年7月6日在17:22

@ MathiasR.Jessen的确可以,但是通常大多数人会欣赏不太尖刻的语气

–迈克尔
16年7月6日在17:33

#2 楼

curl -k或curl --insecure不能解决此特定错误情况:
“ curl:(51)SSL对等证书

评论


信任链(而非实际证书)的验证失败时,会发生SSL对等证书错误。我的第一个建议是更新计算机上的CA捆绑包

– Mathias R. Jessen
2014年7月30日10:35

#3 楼

如果您确实要默认禁用curl SSL验证,则对于所有用例,都可以按照此Unix堆栈交换答案中的建议进行操作:
$ echo insecure >> ~/.curlrc

现在您应该这样做吗?不,因为这样可以避免安全检查,所以您应该准备好……但是,如果您真的想这样做,请警告!