私は無料のSSLを暗号化しましょう(私のホストプロバイダーはデフォルトでそれをサポートしています)、私はsslshopper.com(唯一の警告は:The certificate is not trusted in all web browsers. You may need to install an Intermediate/chain certificate to link it to a trusted root certificate. Learn more about this error. The fastest way to fix this problem is to contact your SSL provider.
)と https://www.geocerts.com)で私のサイトをチェックしました/ ssl_checker その結果、私のサイトはCertificate Chain Complete
を除くすべてのテストに合格しました。だから私は問題が証明書にあるとは思わない、私が知っているように電報は自己署名証明書を受け入れる。
https://core.telegram.org/bots/samples/hellobot でテレグラムサンプルボットを使用しようとしましたが、Webhook URLを設定した後、 https: //api.telegram.org/bot [my-token]/getWebhookinfo
結果は次のとおりです。
{ "ok": true, "result": { "url": "https://itest.gigfa.com/tlg1/tlg1.php", "has_custom_certificate": false, "pending_update_count": 17, "last_error_date": 1521140994, "last_error_message": "SSL error {337047686, error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}", "max_connections": 40 } }
ボットはまったく機能しません。
はい、問題は証明書にあります。
GetWebHookInfoのエラー:
"last_error_message":"SSL error {337047686, error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed}"
テレグラムは、証明書チェーン全体が必要であると言っていますか(CAバンドルまたはフルチェーン証明書とも呼ばれます)。
SSL Labs SSL Server Test サービスを使用して、証明書を確認できます。
次の例のようにURLを渡して、valde.ci
をホストに置き換えます。
https://www.ssllabs.com/ssltest/analyze.html?d=valde.ci&hideResults=on&latest
「チェーンの問題:不完全」が表示された場合は、完全なチェーン証明書を提供していません。
SSL証明書プロバイダーの完全なチェーン証明書をダウンロードして、Webサーバーにインストールします。
使用しているサービスがわかりませんが、私の例では gunicorn SSL証明書によって送信されたca-bundle
ファイルを使用して ca-certs を追加することを解決しました次の例のように、SSL構成のプロバイダー(私の場合は Namecheap Comodo ):
ca_certs = "cert/my-service.ca-bundle"
詳細情報: @ martini この回答 スレッド および FIX:Telegram Webhooks Not Working 投稿。