因为众所周知的原因,telegram在大陆不能直接连上,Telegram Bot也用不了,属实恼火。这个时候用一个连的上外网,同时能够被墙内的机器访问的跳板机器就可以解决这个问题。
下面是我调试好的Nginx conf文件,内容如下:
##电报api转发server {listen 80;listen [::]:80;server_name telegram.test.cn;# Enforce HTTPSreturn 301 https://$server_name$request_uri;}server {listen 443 ssl;listen [::]:443 ssl;server_name telegram.test.cn;## ssl密钥路径自己改改ssl_certificate etc/nginx/cert/full_chain.pem;ssl_certificate_key etc/nginx/cert/private.key;## dns必须写,不然会报502错误resolver 8.8.8.8;# 以bot开头的请求都会被正则匹配到location ~* ^/bot {proxy_buffering off;proxy_pass https://api.telegram.org$request_uri;proxy_http_version 1.1;}## 和上面root一样非必要,这个主要是用来确认服务器状态的。也可以改成return 403location /{try_files /$uri $uri /index.html;}}
由于需要使用https,所以我们需要提前申请好证书,并且存放到/etc/nginx/cert目录下,然后执行nginx重启命令
nginx -s reload
然后测试是否可以
curl https://telegram.test.cn/bot[机器人token]/getMe
如果有返回json结果,即表示成功。
文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





