Telegram Bot Webhook не проверяет мой SSL-сертификат

У меня есть веб-сайт с доверенным сертификатом SSL версии 3. Я получил 4 файла от эмитента SSL, один из которых является сертификатом домена, размещенным на сервере.

Чтобы установить веб-хук для моего бота, я пробовал:

  1. Простой метод setWebhook в режиме URL:

    https://api.telegram.org/bot447278997:*******************************nZW0/setWebhook?url=https://example.com/webhookMethod
    
  2. setWebhook с помощью Curl. Я загрузил каждый из 4 файлов от эмитента сертификата, а также файл, содержащий все 4 файла в случайном порядке. (команда curl распознала мой сертификат как самоподписанный и вернула ошибку SSL(60), поэтому мне пришлось добавить в команду --insecure слово, чтобы игнорировать проверку сертификата и просто отправить его). вот команда:

    curl --insecure -F "url=https://example.com/webhookMethod" -F "[email protected]" https://api.telegram.org/bot447278997:****************************nZW0/setWebhook
    

Ни один из вышеперечисленных методов не заставил мой веб-хук работать. вызывая метод getWebhookInfo, я каждый раз получал ошибку, например:

{
  "ok":true,
  "result":{
    "url":"https://example.com/webhookMethod",
    "has_custom_certificate":true,
    "pending_update_count":7,
    "last_error_date":1518169667,
    "last_error_message":"Wrong response from the webhook: 302 Found",
    "max_connections":40
  }
}

В некоторых попытках has_custom_certificate превратилось в False или last_error_message изменилось на что-то вроде not verified certificate или SSL error и т. д.

Кроме того, я протестировал свой веб-сервис с Postman с проверкой SSL, и все это настроено и работает. Я также знаю, что Telegram не поддерживает SSL версии 2 и 3, но поддерживает самозаверяющие сертификаты. Теперь, когда я отправляю им проверенный сертификат версии 3, он должен работать, верно?

Любая помощь приветствуется заранее.


person Matthew    schedule 09.02.2018    source источник
comment
Пожалуйста, отформатируйте код правильно.   -  person Vikas Yadav    schedule 09.02.2018
comment
Ошибка говорит, что вы вернули 302 (вместо 200). Почему вы думаете, что это проблема с SSL?   -  person Arman Ordookhani    schedule 09.02.2018


Ответы (1)


это не проблема ssl. вы должны вернуть 200 в ответ, а не 302. насколько я знаю, 302 означает перенаправление. не перенаправлять в ответном сообщении.

person Mohammad    schedule 12.02.2018