68 lines
1.9 KiB
Markdown
68 lines
1.9 KiB
Markdown
## 准备工作
|
||
**你可以选择 CloudFlare 的 workers 进行反代,但大陆的网络你懂的,这里介绍用你自己服务器反代方式**
|
||
搭建一个 TGbot api 反代,你需要:
|
||
1.一个不受 GFW 封锁的服务器(且安装好 Nginx)
|
||
2.一个域名(提前申请 SSL 证书)
|
||
<br/>
|
||
## NGINX 配置
|
||
编辑你 Nginx 的配置文件,在 http{} 中加上如下配置
|
||
```nginx
|
||
# http强制跳转到htpps
|
||
server {
|
||
listen 80;
|
||
listen [::]:80;
|
||
server_name yourDomainName;
|
||
|
||
# Enforce HTTPS
|
||
return 301 https://$server_name$request_uri;
|
||
}
|
||
## https
|
||
server {
|
||
listen 443 ssl;
|
||
listen [::]:443 ssl;
|
||
|
||
server_name yourDomainName;
|
||
|
||
## ssl密钥路径自己改改
|
||
ssl_certificate server.pem;
|
||
ssl_certificate_key server.key;
|
||
|
||
## root非必要
|
||
root /var/www/tgbot/;
|
||
|
||
## 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;
|
||
}
|
||
|
||
## no log no fix
|
||
error_log /var/log/tg.log error;
|
||
}
|
||
```
|
||
`yourDomainName` - 你准备的域名
|
||
`ssl_certificate` - SSL 证书路径
|
||
`ssl_certificate_key` - SSL 证书路径
|
||
<br/>
|
||
## 使用方式
|
||
:tada:然后执行 `systemctl restart nginx` 回到 Nezha 将原来的https://api.telegram.org/ 替换为 https://yourDomainName/ ,即可正常推送消息
|
||
<br/>
|
||
## 防止盗用
|
||
`serverIp` - Agent 的 ip 地址,你系统安装的哪个就用哪个命令,ufw iptables 都可.
|
||
```bash
|
||
#ubuntu
|
||
ufw allow proto tcp from serverIp to any port 443
|
||
#centos
|
||
iptables -I INPUT -p tcp --dport 443 -j DROP
|
||
iptables -I INPUT -s serverIp -p tcp --dport 443 -j ACCEPT
|
||
```
|