在 KVM VPS 上将 3X-UI(代理面板)WordPress(网站) 共存,最稳妥且主流的方案是使用 Nginx 作为反向代理

简单来说,就是让 Nginx 守住 80/443 端口:正常的网站访问交给 WordPress,特定的加密路径(如代理流量)则由 Nginx 转发给后台的 3X-UI 内核。

以下是实现这一目标的操作指南:


核心架构:Nginx 反向代理

第一步:环境清理与规划

  1. 域名准备:建议准备两个二级域名(例如 blog.yourdomain.com 给 WordPress,panel.yourdomain.com 给 3X-UI)。

  2. 端口避让:确保 3X-UI 面板本身不要占用 80 或 443 端口。登录面板,在“面板设置”中将监听端口改为一个冷门端口(如 54321)。

  3. 安装 Nginx 和数据库

    • 在 Linux 终端执行:apt update && apt install nginx mariadb-server php-fpm php-mysql -y

第二步:安装 WordPress

您可以手动安装,也可以使用脚本。

  1. 创建数据库:为 WordPress 创建专属数据库和用户。

  2. 放置文件:将 WordPress 源码下载并解压到 /var/www/wordpress

  3. Nginx 配置:创建一个 Nginx 配置文件 /etc/nginx/sites-available/wordpress,配置 80 端口转发到该目录。

第三步:配置 3X-UI 的分流(关键)

为了让代理和网站共用 443 端口(即伪装成正常流量),您需要在 3X-UI 中使用 WebSocket (WS)gRPC 传输协议。

  1. 3X-UI 设置

    • 添加入站节点(Inbound)。

    • 协议:建议 VLESS。

    • 传输:选择 ws (WebSocket)。

    • 路径 (Path):设置一个隐蔽路径,如 /mysecretdata

    • 监听 IP:建议设为 127.0.0.1(只允许本机访问,提高安全性)。

  2. Nginx 证书申请:使用 certbot 为域名申请 SSL 证书。

第四步:Nginx 整合配置示例

在 Nginx 的服务器配置块(Server Block)中,通过 location 指令实现分流:

server {
    listen 443 ssl;
    server_name blog.yourdomain.com;
    # SSL 证书路径
    ssl_certificate /path/to/fullchain.pem;
    ssl_certificate_key /path/to/privkey.pem;
    # 正常的 WordPress 网站请求
    location / {
        root /var/www/wordpress;
        index index.php index.html;
        try_files $uri $uri/ /index.php?$args;
    }
    # 代理节点请求(路径必须与 3X-UI 中设置的一致)
    location /mysecretdata {
        proxy_redirect off;
        proxy_pass http://127.0.0.1:12345; # 3X-UI 节点监听的内部端口
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
    }
}


⚠️ 注意事项

  • 内存压力:WordPress(尤其是安装了大量插件后)和 3X-UI 同时运行会消耗不少内存。如果您的 VPS 内存小于 1GB,建议开启 Swap 虚拟内存

  • 防火墙:在云服务器控制台(安全组)中,只需要放行 80, 443SSH 端口,3X-UI 的节点端口可以只在本地监听,不需要对外开放,从而增加隐蔽性。

  • REALITY 协议:如果您打算使用 3X-UI 最新的 REALITY 协议,请注意它不能放在 Nginx 后面分流,因为它需要直接接管端口。若需共存,可以让 REALITY 使用 443,而让 Nginx 监听其他端口。

您是否需要我为您提供一份完整的 Nginx 配置文件模板,或者详细的一键安装脚本建议?

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。