2014-01-30 18 views
1

Мне нужно сделать запрос на сайт https через openssl. В браузере нет никаких проблем, это простой запрос GET без куки-файлов, я смотрю его через скрипач. Моя проблема в том, что я должен сделать этот запрос через openssl, и он слишком долго ждет, а затем я получаю пустой ответ.openssl не работает, но в браузере это

Это выглядит следующим образом:

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

У меня есть много HTTPS сайтов и только один из них вызывает это. В чем может быть проблема?

+1

Ваши ЦС для вашего клиента openssl, вероятно, устарели или не могут подтвердить сертификат на веб-сервере вашего хоста. С какой ОС вы запускаете openssl? Это старая ОС? – Rico

ответ

1

Убедитесь, что вы отправляете все заголовки, которые делает ваш браузер. В частности, в нем могут сыграть Referer и AcceptCookie, но вы сказали, что нет файлов cookie).

Кроме этого, сертификат SSL сервера может быть недействителен вашим клиентом. Браузер обычно более прощает, поэтому ваш запрос будет по-прежнему успешным. Если вы можете перевести свой запрос в команду wget (т. Е. wget https://host:port/URL), если у сертификата возникла проблема, он сообщит что-то вроде «не может подтвердить сертификат <« > ». Если вы попытаетесь выполнить тот же запрос с wget --no-check-certificate https://host:port/URL, и он преуспеет, вы узнаете, что это проблема.

Смежные вопросы