Telegram Webhook 和 Ngrok 无法正常工作
Telegram Webhook And Ngrok Not Working Correctly
我有一个用 botman 制作的电报机器人,当我将它上传到网站时,它可以正常工作并且运行良好,但是对于开发它在网站上的想法不是一个好主意,因为许多请求发送到服务器 ant它会立即阻止它。
为了开发,我想使用 ngrok,我将其安装在 windows 上,并在端口 8000
和 运行 端口上为 botman 服务
ngrok http 8000
其作品:
正如您所见,来自电报的连接正确接收
但问题是电报机器人没有响应。
我也试过了
ngrok http 8000 -host-header=localhost:8000
我该怎么办?
谢谢;
为什么电报机器人没有响应?
敏感信息的传输通常是在数字证书的保护下完成的。该证书将有助于向收件人确认发件人确实是他们声称的身份。数字证书由证书颁发机构颁发。
将数字证书应用于服务器时,会在服务器上安装受信任的证书颁发机构列表及其根证书。通过常规 HTTPS 进行的交易将恢复到此列表进行通信。但是,CURL 不遵循规则。您需要告诉 curl 有关 ca 根证书的信息。
如何解决?
要解决该错误,您需要定义您的 CURL 证书颁发机构信息路径
为此,
- 在此处下载最新的 curl 识别证书:
https://curl.haxx.se/ca/cacert.pem
在 wampServer 中:
2.1 将文件放入 C:\wamp64\bin\php\php*.*.*
文件夹
将 * 替换为您的 wamp php 版本。
2.2 确保文件 mod_ssl.so 位于 C:\wamp64\bin\apache\apache(version)\modules Enable mod_ssl in httpd.conf inside Apache directory C:\wamp64\bin\apache\apache2.4.27\conf
2.3 打开php.ini,找到这一行:
curl.cainfo
改为:
curl.cainfo = "C:\wamp64\bin\php\php*.*.*\cacert.pem"
在XAMPP服务器
2.1 将文件放在:
C:\xampp\php\extras\ssl\
2.2 在您的 php.ini 中将此行放入此部分 ("c:\xampp\php\php.ini"):
;;;;;;;;;;;;;;;;;;;;
; php.ini Options ;
;;;;;;;;;;;;;;;;;;;;
curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
- 保存并关闭您的 php.ini。重新启动您的网络服务器并再次尝试您的请求。
我有一个用 botman 制作的电报机器人,当我将它上传到网站时,它可以正常工作并且运行良好,但是对于开发它在网站上的想法不是一个好主意,因为许多请求发送到服务器 ant它会立即阻止它。
为了开发,我想使用 ngrok,我将其安装在 windows 上,并在端口 8000
和 运行 端口上为 botman 服务
ngrok http 8000
其作品:
正如您所见,来自电报的连接正确接收
但问题是电报机器人没有响应。
我也试过了
ngrok http 8000 -host-header=localhost:8000
我该怎么办?
谢谢;
为什么电报机器人没有响应?
敏感信息的传输通常是在数字证书的保护下完成的。该证书将有助于向收件人确认发件人确实是他们声称的身份。数字证书由证书颁发机构颁发。
将数字证书应用于服务器时,会在服务器上安装受信任的证书颁发机构列表及其根证书。通过常规 HTTPS 进行的交易将恢复到此列表进行通信。但是,CURL 不遵循规则。您需要告诉 curl 有关 ca 根证书的信息。
如何解决?
要解决该错误,您需要定义您的 CURL 证书颁发机构信息路径
为此,
- 在此处下载最新的 curl 识别证书: https://curl.haxx.se/ca/cacert.pem
在 wampServer 中:
2.1 将文件放入 C:\wamp64\bin\php\php*.*.*
文件夹
将 * 替换为您的 wamp php 版本。
2.2 确保文件 mod_ssl.so 位于 C:\wamp64\bin\apache\apache(version)\modules Enable mod_ssl in httpd.conf inside Apache directory C:\wamp64\bin\apache\apache2.4.27\conf
2.3 打开php.ini,找到这一行:
curl.cainfo
改为:
curl.cainfo = "C:\wamp64\bin\php\php*.*.*\cacert.pem"
在XAMPP服务器
2.1 将文件放在:
C:\xampp\php\extras\ssl\
2.2 在您的 php.ini 中将此行放入此部分 ("c:\xampp\php\php.ini"):
;;;;;;;;;;;;;;;;;;;;
; php.ini Options ;
;;;;;;;;;;;;;;;;;;;;
curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
- 保存并关闭您的 php.ini。重新启动您的网络服务器并再次尝试您的请求。