openssl不起作用,但在浏览器中它确实有效

时间:2014-01-30 19:51:18

标签: linux bash openssl

我必须通过openssl向https网站提出一些请求。在浏览器中没有任何问题,这是一个没有任何cookie的简单GET请求,我通过提琴手观看。我的问题是我必须通过openssl发出这个请求,它等待的时间太长,然后我得到一个空的响应。

看起来像:

(cat <REQUEST>; sleep 5) | openssl s_client -quiet -connect <HOST>:<PORT> > <variable>

我有很多https网站,其中只有一个会导致这种情况。可能是什么问题?

1 个答案:

答案 0 :(得分:1)

确保您发送浏览器执行的所有标头。特别是,RefererAccept可能会在其中发挥作用(和Cookie,但您说没有Cookie。)

除此之外,服务器的SSL证书可能无法由您的客户验证。浏览器通常更宽容,因此您的请求仍然会成功。如果您可以将请求转换为wget命令(即wget https://host:port/URL),如果证书有问题,则会报告“无法验证&lt; host&gt;的证书”。如果您使用wget --no-check-certificate https://host:port/URL尝试相同的请求并且成功,则您将知道证书是问题。