服务端部署
简介
EchPlus 服务端部署指南
概述
EchPlus 服务端是一个 WebSocket 代理服务器,负责接收客户端请求并转发到目标服务器。
部署方式
Docker 部署 (推荐)
1. 构建镜像
cd apps/server
docker build -t echplus-server .2. 运行容器
docker run -d \
--name echplus-server \
-p 3325:3325 \
-e TOKEN=your-secret-token \
-e PORT=3325 \
echplus-server3. Docker Compose
创建 docker-compose.yml:
version: "3.8"
services:
echplus-server:
build: ./apps/server
ports:
- "3325:3325"
environment:
- TOKEN=your-secret-token
- PORT=3325
restart: unless-stopped运行:
docker-compose up -d手动部署
1. 编译
cd apps/server
go build -o echplus-server .2. 运行
./echplus-server -t your-secret-token -p 3325配置参数
| 参数 | 环境变量 | 默认值 | 说明 |
|---|---|---|---|
-t | TOKEN | 147258369 | 身份验证令牌 |
-p | PORT | 3325 | 监听端口 |
反向代理配置
Nginx
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:3325;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 86400;
}
}Caddy
your-domain.com {
reverse_proxy localhost:3325
}云平台部署
Railway
- Fork 项目到你的 GitHub
- 在 Railway 创建新项目,选择 GitHub 仓库
- 设置环境变量
TOKEN和PORT - 部署完成后获取域名
Fly.io
创建 fly.toml:
app = "echplus-server"
primary_region = "hkg"
[build]
dockerfile = "Dockerfile"
[env]
PORT = "8080"
[http_service]
internal_port = 8080
force_https = true
[[services]]
internal_port = 8080
protocol = "tcp"
[[services.ports]]
port = 443部署:
fly launch
fly secrets set TOKEN=your-secret-token
fly deploy健康检查
服务端提供健康检查端点:
curl http://your-server:3325/health
# 返回: OK安全建议
- 使用强密码 Token - 避免使用默认 Token
- 启用 HTTPS - 通过反向代理或云平台启用 SSL
- 限制访问 - 使用防火墙限制来源 IP
- 定期更新 - 保持服务端版本最新