6

我是创建电报机器人的新手,我真的不知道从哪里开始。我只知道PHP。

简单来说,我有一个安装了 Windows Server 2008 R2 的 VPS,并且我使用了一个自签名证书

openssl req -newkey rsa:2048 -sha256 -nodes -keyout server.key -x509 -days 365 -out server.pem -subj "/C=US/ST=New York/L=Brooklyn/O=Example Brooklyn Company/CN=YOURDOMAIN.EXAMPLE"

然后我使用 PEM 转换为 CER

openssl x509 -inform PEM -in server.pem -outform DER -out server.cer

我已经安装了 WAMP 服务器并将其设置为使用 server.cer 和 server.key 作为证书和密钥,然后我测试了 HTTPS(443) 并且它工作正常。

然后我在 chrome 上安装了一个 REST 客户端,并将 bot.php 和 PEM 文件的 URL 作为多部分表单数据发送,如官方文档所述。

现在我得到这个错误:

{
    ok: false,
    error_code: 400,
    description: "Error: Bad webhook: Posix Error: Success: getaddrinfo: Name or service not known"
}

和......我现在在这里!:| 向您寻求帮助 问题是什么,我该如何解决

提前致谢 :)

注意:我没有使用 VPS 的 IP 的域

4

1 回答 1

2

Telegram 需要您的的有效 ssl 证书。

我会告诉我我是如何解决这个问题的。

您可以使用 NGROK,它可以在启用临时域和 https 的情况下将本地 ip 公开到互联网。

安装链接 - https://ngrok.com/

安装后,只需在控制台中运行:

ngrok http 127.0.0.1:8003

(ofc 使用ipport来自您的WAMP配置)

https://f9eb2f08.ngrok.io您将获得一个启用了 https的免费临时域(看起来像)。

然后使用您的新域将 url 设置为电报 webhook_url,只要 NGROK 正在运行,机器人的请求就会发送到您的本地服务器。

于 2019-07-03T17:30:19.700 回答