Skip to content

问题现象

在宝塔面板或其他 Nginx 管理工具中为站点添加反向代理时,弹出错误提示: 伪静态/nginx主配置/vhost/文件已存在全局反向代理 或保存反向代理配置失败。

根本原因

  1. 伪静态与反向代理规则冲突:站点原先配置了 ThinkPHP 等伪静态规则,Nginx 配置文件中已存在针对 location /try_filesrewrite 重定向指令,与反向代理的 location / 发生冲突。
  2. 重复添加反向代理:站点配置文件中已存在 proxy_pass 相关配置,再次通过宝塔可视化界面添加导致配置块重复。
  3. 全局 Nginx 配置冲突:在 nginx.conf 主配置或全局包含文件中定义了同名的反向代理 upstream 或路径映射。

解决步骤

清理现有伪静态规则

  1. 打开宝塔面板 -> 网站 -> 点击目标站点 -> 伪静态
  2. 将伪静态内容清空或选择“0.当前(无规则)”,点击保存
  3. 确保站点配置文件中不再有针对根路径 / 的冲突重定向规则。

标准反向代理配置

EBAOZU V4 基于 Swoole 运行,需将 HTTP 与 WebSocket 请求代理到后端 Swoole 端口(默认 20697)。请在站点 Nginx 配置文件中配置如下反向代理块:

nginx
location / {
    proxy_pass http://127.0.0.1:20697;
    proxy_http_version 1.1;
    proxy_read_timeout 60s;
    proxy_connect_timeout 60s;
    proxy_redirect off;

    # 客户端真实 IP 透传
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # 支持 WebSocket 升级
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    # 自定义请求头透传(JWT 鉴权)
    proxy_set_header Authori-zation $http_authori_zation;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|svg|woff|woff2|ttf|eot)$ {
    root /www/wwwroot/your-project/public;
    expires 30d;
    access_log off;
}

location ~ .*\.(js|css)?$ {
    root /www/wwwroot/your-project/public;
    expires 12h;
    access_log off;
}

测试与重载 Nginx

在命令行执行配置测试并重载:

bash
nginx -t
nginx -s reload

若提示 syntax is oktest is successful,则反向代理已成功生效。

承信租多门店租赁商城系统官方文档