【问题标题】:Anyway for setting Telegram Webhook without setting up https connection无论如何设置 Telegram Webhook 而不设置 https 连接
【发布时间】:2016-09-23 18:33:13
【问题描述】:

我想设置TelegramWebhook,但我没有https URL,我也不想处理ssl证书。

我可以通过使用 https URL 或不设置 https 证书来解决此问题吗?

Telegram webhook 描述:https://core.telegram.org/bots/api#setwebhook

【问题讨论】:

    标签: http ssl https webhooks telegram-bot


    【解决方案1】:

    您不能没有适当的证书,但现在很容易获得(而且免费):https://letsencrypt.org/getting-started/

    【讨论】:

    • 我使用自签名证书设置了 webhook,但正在考虑在我的服务器上使用 Let's Encrypt 证书。出于某种原因,电报不断给我 Verification_Failed 错误,但浏览器对此很好。你自己试过吗?
    • 您是否使用 ssllabs.com 测试了您的 https 入口点?它是否说明了“连锁问题”?如果是,则说明您的中间证书在配置中不正确。
    • 我确实使用sslshopper.com/ssl-checker.html 进行了检查,没有任何问题。
    【解决方案2】:

    您有两种选择从电报获取更新:

    1. Webhook,此方法仅适用于 ssl(是的,我同意 Tom - 让我们加密很棒)
    2. getUpdates 方法,使用长轮询工作,此方法不需要 ssl。 API 文档中的更多信息:https://core.telegram.org/bots/api#getupdates

    【讨论】:

      【解决方案3】:

      您可以利用 Cloudflare Universal SSL 通过 SSL 保护您的端点。你不必处理任何事情。

      【讨论】:

        【解决方案4】:

        https 是强制性的,但这并不意味着您必须完全设置它。您可以使用更简单的方法,让我解释一下:

        您可以将您自己的 PC 或 mac 或 linux 机器上的 localhost 服务器连接到电报服务器,而无需设置任何 SSL 证书。 使用"ngrok.com Secure tunnels",您将拥有处理webhooks 所必需的https 地址,但无需设置任何SSL。

        您需要的所有步骤(在 PC 中):

        1- 下载 ngrok.exe

        2- 在命令行中运行:“ngrok http 8888”

        3- 现在准备好了!

        很简单,不是吗

        运行 ngrok.exe 后,它会显示如下内容:“https://abcd1234.ngrok.io” 这是您可以用作 webhook 的临时 https。在您关闭ngrok.exe之前它是有效的并且属于您的机器人(我什至在没有关闭应用程序的情况下待机我的电脑,它仍然对我来说非常好)

        此外,通过这个应用程序,我可以访问 Telegram 发送到我的机器人的所有消息,以及我的机器人 api 输出(不包括我发送的消息)作为 JSON 显示。您可以通过http://localhost.com:4040 访问这些面板。这是一个示例:

        【讨论】:

          猜你喜欢
          • 2017-07-22
          • 1970-01-01
          • 2017-10-17
          • 2017-05-31
          • 1970-01-01
          • 2017-10-02
          • 2012-04-15
          • 2018-08-21
          • 1970-01-01
          相关资源
          最近更新 更多