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

宝塔面板部署步骤

方法一:一键脚本

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

如果启动成功,然后配置宝塔反向代理:

  1. 宝塔面板 → 网站 → 添加站点(填你的域名或IP)
  2. 点击网站 → 反向代理 → 添加反向代理

然后访问 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

在服务器上执行以下命令:

  1. 查看服务状态

bash
systemctl status forward-panel

  1. 查看实时日志

bash
journalctl -u forward-panel -f

  1. 查看实时统计(API)

bash
curl http://127.0.0.1:5000/api/stats

  1. 查看所有转发规则

bash
curl http://127.0.0.1:5000/api/rules

  1. 查看端口连接数

bash

查看 5000 端口(API)

netstat -tlnp | grep 5000

查看转发端口(如 10086)

netstat -tlnp | grep 10086

查看所有 TCP 连接

ss -s

  1. 查看实时流量

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

世界树

一步一步来

您可能还喜欢...