Telegram Bot API反代

Telegram Bot API反代

      因为众所周知的原因,telegram在大陆不能直接连上,Telegram Bot也用不了,属实恼火。这个时候用一个连的上外网,同时能够被墙内的机器访问的跳板机器就可以解决这个问题。

      下面是我调试好的Nginx conf文件,内容如下:

##电报api转发
server {
    listen 80;
    listen [::]:80;
    server_name telegram.test.cn;

    # Enforce HTTPS
    return 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 403
    location /{ 
        try_files /$uri $uri /index.html;
    }
}

由于需要使用https,所以我们需要提前申请好证书,并且存放到/etc/nginx/cert目录下,然后执行nginx重启命令

nginx -s reload

      然后测试是否可以

curl https://telegram.test.cn/bot[机器人token]/getMe

如果有返回json结果,即表示成功。

0条评论

发表评论