无痕代理部署
Nginx代理配置
准备工作
在开始部署之前,请确保你已经准备好以下内容:
✔ 一台服务器(例如: 公网 IP 119.119.119.119)
✔ 一个域名(例如:example.com)
可以通过阿里云、腾讯云、Namesilo、Cloudflare 等平台购买域名,如果是国内服务器,需进行备案才能确保正常访问。
域名解析
登录你的域名解析管理控制台(以阿里云为例)并进行以下操作:
➤ 添加主域名解析(门户页用)
| 主机记录 | 记录类型 | 记录值 |
|---|---|---|
| @ | A | 119.119.119.119 |
这表示:http://example.com → 访问你的服务器
➤ 添加二级域名解析(电脑端后台)
| 主机记录 | 记录类型 | 记录值 |
|---|---|---|
| cloud | A | 119.119.119.119 |
这表示:http://cloud.example.com → 访问你的服务器
➤ 添加二级域名解析(手机端后台)
| 主机记录 | 记录类型 | 记录值 |
|---|---|---|
| m | A | 119.119.119.119 |
这表示:http://m.example.com → 访问你的服务器
📌 小提示
解析生效时间:
- 阿里云/腾讯云:1~5 分钟
- Cloudflare:秒级生效
放行服务器端口
必须在两个地方都放行端口才能保证正常访问。
服务器防火墙放行 TCP 80 端口
sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --reload
sudo ufw allow 80
sudo ufw reload
云服务商控制台安全组放行 TCP 80 端口(必做)
云服务器默认会通过安全组拦截外部端口访问,即使本地防火墙已放行,外部设备依然无法连接。请在云服务商控制台(阿里云、腾讯云、华为云、AWS 等)添加安全组规则,放行TCP端口
进入服务器控制台 → 安全组 → 添加规则:
| 协议端口 | 来源 |
|---|---|
| TCP 80 | 0.0.0.0/0 |
安装 Nginx
sudo yum install nginx -y
sudo apt install nginx -y
设置 Nginx 开机自启 + 启动
启动 Nginx 并设置开机自启:
sudo systemctl enable nginx
sudo systemctl start nginx
检查 Nginx 状态:
sudo systemctl status nginx
修改 nginx.conf(单文件模式)
路径:/etc/nginx/nginx.conf
将以下完整配置复制进去,替换原内容。
nginx.conf (IP 代理)
user nginx; # CentOS 使用 nginx,Ubuntu 系统使用 www-data
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# -----------------------
# 电脑端后台代理:cloud.example.com
# -----------------------
server {
listen 80;
server_name cloud.example.com;
location / {
proxy_pass http://180.76.145.80:70;
proxy_set_header Host 180.76.145.80:70;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# -----------------------
# 手机端后台代理:m.example.com
# -----------------------
server {
listen 80;
server_name m.example.com;
location / {
proxy_pass http://180.76.145.80:71;
proxy_set_header Host 180.76.145.80:71;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# -----------------------
# 主域名 example.com(门户页示例)
# 用户可自己改为真正的介绍页
# -----------------------
server {
listen 80;
server_name example.com;
root /www/site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
}
user www-data; # CentOS 使用 nginx,Ubuntu 系统使用 www-data
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# -----------------------
# 电脑端后台代理:cloud.example.com
# -----------------------
server {
listen 80;
server_name cloud.example.com;
location / {
proxy_pass http://180.76.145.80:70;
proxy_set_header Host 180.76.145.80:70;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# -----------------------
# 手机端后台代理:m.example.com
# -----------------------
server {
listen 80;
server_name m.example.com;
location / {
proxy_pass http://180.76.145.80:71;
proxy_set_header Host 180.76.145.80:71;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# -----------------------
# 主域名 example.com(门户页示例)
# 用户可自己改为真正的介绍页
# -----------------------
server {
listen 80;
server_name example.com;
root /www/site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
}
注意事项:
- Ubuntu 系统需将
user nginx;改为user www-data; - CentOS 系统保持
user nginx;不变 - 修改后执行:
nginx -t && systemctl reload nginx
如果需要代理到域名,可以修改把上面的两个 location
# 电脑端 cloud:
location / {
proxy_pass http://cloud.jsdevhub.com;
proxy_set_header Host cloud.jsdevhub.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 手机端 m:
location / {
proxy_pass http://m.jsdevhub.com;
proxy_set_header Host m.jsdevhub.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
检查配置并重启 Nginx
检查 Nginx 配置是否正确:
sudo nginx -t
重启 Nginx:
sudo systemctl restart nginx
测试是否成功
使用浏览器打开以下地址,确认是否能访问:
- http://cloud.example.com → 访问电脑端后台
- http://m.example.com → 访问手机端后台
- http://example.com → 显示你的门户首页
可选:配置 SSL 证书(HTTPS 访问)
前置条件
能从云服务商申请 SSL 证书
操作步骤
申请 SSL 证书
在云服务商(阿里云 / 腾讯云 / 百度云 等)的 SSL 证书 控制台:
- 申请免费证书(有效期一般 3 个月)
- ⚠️ 两个域名都要申请:
cloud.example.comm.example.com
- 等待签发
下载证书
在证书控制台分别下载,选择 PEM (Nginx, SLB) 格式。
每个域名 2 个文件:
| 文件 | 内容 |
|---|---|
cloud.example.com.crt | 服务器证书 + 中间证书 |
cloud.example.com.key | 私钥 |
m.example.com.crt | 服务器证书 + 中间证书 |
m.example.com.key | 私钥 |
上传证书到服务器
# 新建目录(若不存在)
sudo mkdir -p /etc/nginx/cert
# 上传 4 个文件到 /etc/nginx/cert/
# 用 Xftp 或 scp 传到服务器
# 设置权限
sudo chmod 600 /etc/nginx/cert/*.key
sudo chmod 644 /etc/nginx/cert/*.crt
放行 443 端口
服务器防火墙:
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --reload
sudo ufw allow 443/tcp
sudo ufw reload
云服务商安全组:进入控制台 → 安全组 → 添加规则:
| 协议端口 | 来源 |
|---|---|
| TCP 443 | 0.0.0.0/0 |
修改 Nginx 配置
在 nginx.conf 的 http 块里新增两个 443 server(原来的 80 server 保留):
# ========================================
# 电脑端后台 - HTTPS
# ========================================
server {
listen 443 ssl http2;
server_name cloud.example.com;
ssl_certificate cert/cloud.example.com.crt;
ssl_certificate_key cert/cloud.example.com.key;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://180.76.145.80:70;
proxy_http_version 1.1;
proxy_set_header Host 180.76.145.80:70;
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;
}
}
# ========================================
# 手机端后台 - HTTPS
# ========================================
server {
listen 443 ssl http2;
server_name m.example.com;
ssl_certificate cert/m.example.com.crt;
ssl_certificate_key cert/m.example.com.key;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://180.76.145.80:71;
proxy_http_version 1.1;
proxy_set_header Host 180.76.145.80:71;
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;
}
}
检查和重载:
sudo nginx -t
sudo systemctl reload nginx
测试
浏览器打开:
https://cloud.example.com→ 访问电脑端后台https://m.example.com→ 访问手机端后台
后台设置
入口路径
云控后台 → 推广代理 → 角色权限管理 → 新增角色
角色基础信息
角色名称 自定义输入。
内置菜单权限 选择角色需要访问的默认菜单(如:首页 + 群控投屏)。
自定义菜单权限 选择二次开发的自定义页面菜单,按需勾选菜单显示/隐藏。
后台顶部显示项配置
客服菜单
- 菜单是否显示:选择 “显示 / 隐藏”
- 客服信息
| 项目 | 内容 |
|---|---|
| 客服微信二维码 | 建议尺寸:250px × 250px |
| QQ账号 | 需开通 QQ在线状态服务 |
下载菜单
| 项目 | 说明 |
|---|---|
| 云控 App 版本号 | 当前版本号 |
| 云控 App 更新公告 | 更新说明 |
| 云控 App 更新链接 | App 下载地址 |
| 后台 App 版本号 | 后台版本信息 |
| 后台 App 更新公告 | 更新说明 |
| 后台 App 更新链接 | 后台 App 下载链接 |
网站管理
进入云控后台,依次点击 推广代理 -> 角色管理,然后选择创建或编辑角色。
- 网站名称 用于前台显示。
- 站点域名
填写自有域名,比如:
example.com。
📌 小提示 通过 Nginx 反向代理后,若用户访问云控首页将强制跳转到登录页(无痕代理核心机制)。
- 网站 Logo 建议尺寸:250px × 250px
- 注册入口
- 开启:允许新用户注册
- 关闭:禁止注册,仅允许后台分配账号
说明
- 每个代理绑定独立域名 + 独立客服信息 + 独立下载信息
- 登录界面、首页、顶部菜单会变成此角色专属版本
- 不会显示平台原始品牌信息
- 适用于推广代理、OEM 分销等场景