本文最后更新于 2026年5月10日。
国内服务器由于网络环境限制,无法直接访问 api.telegram.org。最推荐的解决方案是建设一个透明转发代理站,将请求从中转服务器(境外)转发至 Telegram 官方服务器。
以下是三种主流且安全的建设方案,按安全性和便捷程度排序:
方案一:Cloudflare Workers 代理(最推荐、免费、安全)
Cloudflare Workers 运行在边缘节点,天然具备高可用性和优异的访问速度。这种方式不需要你维护服务器,且默认支持 HTTPS。
1. 代码实现
在 Cloudflare 控制台创建一个新的 Worker,贴入以下代码:
JavaScript
const TELEGRAM_ENDPOINT = 'https://api.telegram.org';
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request));
});
async function handleRequest(request) {
const url = new URL(request.url);
// 构建新的请求目标地址
const targetUrl = TELEGRAM_ENDPOINT + url.pathname + url.search;
const modifiedRequest = new Request(targetUrl, {
method: request.method,
headers: request.headers,
body: request.body,
redirect: 'follow'
});
return fetch(modifiedRequest);
}
2. 安全加固(重要)
为了防止他人滥用你的代理站(消耗你的额度或扫描你的 Token),建议在代码中加入 路径验证 或 Token 白名单:
-
隐藏路径:将 Worker 绑定到一个自定义域名,并只允许特定的路径访问。
-
Token 校验:在代码中判断
url.pathname是否包含你自己的 Bot Token。
方案二:Nginx 反向代理(适合已有境外 VPS 的用户)
如果你有一台能正常访问 Telegram 的境外 VPS,可以使用 Nginx 搭建一个高效的转发站。
1. Nginx 配置
在 Nginx 配置文件中加入以下 location 块:
Nginx
server {
listen 443 ssl;
server_name your-proxy-domain.com; # 你的代理域名
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass https://api.telegram.org;
proxy_set_header Host api.telegram.org;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_ssl_server_name on; # 关键:必须开启,否则无法通过SNI校验
}
}
2. 安全防护
-
防火墙限流:在 Nginx 中使用
limit_req模块限制请求频率,防止被暴力破解。 -
IP 白名单:如果你的国内服务器 IP 是固定的,建议在 Nginx 中设置
allow [国内服务器IP]; deny all;,仅允许你的服务器调用。
方案三:应用层代码直接设置代理(如果你已有 SOCKS5/HTTP 代理)
如果你不希望建设网站,而是已经在国内服务器上配置了代理软件(如 Clash/V2Ray 等),你可以直接在代码中通过环境变量或请求库设置。
以 Python 的 python-telegram-bot 为例:
Python
from telegram import Bot
from telegram.request import HTTPXRequest
# 假设你的本地代理端口是 7890
proxy_url = "http://127.0.0.1:7890"
request = HTTPXRequest(proxy_url=proxy_url)
bot = Bot(token='YOUR_TOKEN', request=request)
方案对比
| 维度 | Cloudflare Workers | Nginx 反代 | 本地代码代理 |
|---|---|---|---|
| 成本 | 免费(每天10万次请求) | 需要境外 VPS 费用 | 需要代理软件环境 |
| 安全性 | 高(CF 隐藏原始 IP) | 中(需手动配置防火墙) | 高(流量不经过公网) |
| 配置难度 | 极低 | 中 | 低 |
| 适用场景 | Webhook 或简单请求 | 极高并发/大型项目 | 本地调试或私有部署 |