自开发-转发面板中转(初版)

宝塔面板部署步骤
方法一:一键脚本
bash
# 1. 上传所有文件到服务器 /www/wwwroot/forward-panel
# 2. SSH 连接服务器后执行:
cd /www/wwwroot/forward-panel
chmod +x deploy.sh
./deploy.sh your-domain.com
方法二:手动部署(推荐)
步骤 1 – 安装依赖
bash
pip3 install -r requirements.txt
步骤 2 – 宝塔添加网站
- 宝塔面板 → 网站 → 添加站点
- 域名填你的域名或 IP
- 根目录选
/www/wwwroot/forward-panel
步骤 3 – 配置反向代理
- 点击网站 → 反向代理 → 添加反向代理
- 代理名称:
forward-api - 目标URL:
http://127.0.0.1:5000
步骤 4 – 启动后端服务
bash
# 创建服务
cp forward-panel.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable forward-panel
systemctl start forward-panel
步骤 5 – 开放防火墙端口
bash
firewall-cmd --permanent --add-port=5000/tcp
firewall-cmd --reload
访问
使用说明
添加转发规则示例
场景:客户端 → 中转机 → 落地机
code
规则名称:中转转发
协议:TCP
监听地址:0.0.0.0
监听端口:10086
目标地址:落地机IP(如 192.168.1.100)
目标端口:443
用户连接中转机的 10086 端口,数据会转发到落地机的 443 端口。
常用命令
bash
# 服务管理
systemctl start forward-panel # 启动
systemctl stop forward-panel # 停止
systemctl restart forward-panel # 重启
journalctl -u forward-panel -f # 查看日志
Flask 版本太新,Python 3.6.8 不支持。让我修复依赖版本:
requirements.txt(修改)
+2-3
查看文件深度思考
已修复!Python 3.6.8 不支持 Flask 2.x,改为兼容版本。
现在在服务器上执行以下命令:
bash
cd /www/wwwroot/forward-panel
# 1. 重新安装依赖(使用兼容版本)
pip3 install -r requirements.txt
# 2. 启动服务
systemctl start forward-panel
# 3. 检查状态
systemctl status forward-panel
如果启动成功,然后配置宝塔反向代理:
- 宝塔面板 → 网站 → 添加站点(填你的域名或IP)
- 点击网站 → 反向代理 → 添加反向代理
- 代理名称:
forward-api - 目标URL:
http://127.0.0.1:5000
- 代理名称:
然后访问 http://%E4%BD%A0%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8IP/ 即可使用管理面板。
你的问题是在宝塔里设置的反向代理把所有请求都代理到 API 了,包括 /。
需要把反向代理删除,改用静态文件服务。执行以下命令:
bash
1. 确保 index.html 存在
cat /www/wwwroot/forward-panel/index.html | head -5
2. 查找宝塔的 Nginx 配置文件
ls /www/server/panel/vhost/nginx/
3. 查看当前的反向代理配置
cat /www/server/panel/vhost/nginx/zhuanfa2.tizis.pw.conf
然后把配置改为:
nginx
server {
listen 80;
server_name zhuanfa2.tizis.pw;
# 前端静态文件
location / {
root /www/wwwroot/forward-panel;
index index.html;
try_files $uri $uri/ /index.html;
}
# API 代理到后端
location /api {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
access_log /www/wwwlogs/forward-panel_access.log;
error_log /www/wwwlogs/forward-panel_error.log;
}
保存后执行:
bash
nginx -t && nginx -s reload
在服务器上执行以下命令:
- 查看服务状态
bash
systemctl status forward-panel
- 查看实时日志
bash
journalctl -u forward-panel -f
- 查看实时统计(API)
bash
curl http://127.0.0.1:5000/api/stats
- 查看所有转发规则
bash
curl http://127.0.0.1:5000/api/rules
- 查看端口连接数
bash
查看 5000 端口(API)
netstat -tlnp | grep 5000
查看转发端口(如 10086)
netstat -tlnp | grep 10086
查看所有 TCP 连接
ss -s
- 查看实时流量
bash
每秒刷新
watch -n 1 “curl -s http://127.0.0.1:5000/api/rules”
如果访问首页出现报错
尝试
查看当前配置(zhuanfa2.tizis.pw.conf 这个需要替换)
cat /www/server/panel/vhost/nginx/zhuanfa2.tizis.pw.conf
初级本体
cat /www/server/panel/vhost/nginx/zhuanfa2.tizis.pw.conf
cat > /www/server/panel/vhost/nginx/zhuanfa2.tizis.pw.conf << 'EOF'
server {
listen 80;
server_name zhuanfa2.tizis.pw;
location / {
root /www/wwwroot/forward-panel;
index index.html;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
access_log /www/wwwlogs/forward-panel_access.log;
error_log /www/wwwlogs/forward-panel_error.log;
}
EOF
重载 Nginx
nginx -t && nginx -s reload
45.192.107.35:10086→185.36.192.243:30002