Appearance
概述
系统依托 Swoole 常驻内存运行,所有动态请求(HTTP/WebSocket)由 Nginx 作为前端反向代理转发至本地 Swoole 监听端口(生产环境推荐 20698,本地开发默认 20697)。
Nginx 完整反向代理与安全防护规则
在宝塔面板【站点设置 -> 反向代理 -> 配置文件】(或直接在站点【配置文件】的 server 块中),确保配置包含以下反代及防下载完整规则:
nginx
# --- 安全防护:禁止外部直接下载敏感授权文件与核心容器 ---
location ~* \.(key|ebz)$ {
deny all;
return 404;
}
#PROXY-START/
location ~* \.(php|jsp|cgi|asp|aspx)$
{
proxy_pass http://127.0.0.1:20698;
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_set_header REMOTE-HOST $remote_addr;
}
location /
{
if (!-e $request_filename) {
proxy_pass http://127.0.0.1:20698;
}
proxy_http_version 1.1;
proxy_read_timeout 360s;
proxy_redirect off;
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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
add_header Cache-Control no-cache;
expires 12h;
}
#PROXY-END/IMPORTANT
- 反代缓存注意:反代规则修改保存后,请勿在宝塔反向代理列表中点击可视化编辑开启缓存等按钮,否则宝塔可能会重置自定义的 WebSocket(
Upgrade/Connection)代理规则。 - 安全防下载:
location ~* \.(key|ebz)$确保外部无法通过 URL 直接读取项目根目录或子目录下的商业授权证书与加密核心组件。