Files
AIC-Project/deploy/windows/Caddyfile_xworldlink
T

55 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# XWorld 生产反向代理(Caddy v2Windows)—— 域名版本:xworld.link
# 用途:给另一台使用 xworld.link 域名的机器部署(主 Caddyfile 已切到 xworld.ren)。
#
# 作用:对外只暴露 443(HTTPS/WSS),自动申请并续期 Let's Encrypt 证书;
# 网关/CDN 两个 .NET 进程只绑 127.0.0.1,由 Caddy 反代。
#
# 前置:
# 1) 三个域名的 DNS A 记录都指向本服务器公网 IP:
# game.xworld.link、www.xworld.link、裸域名 xworld.link(主机名 @)。
# 2) 服务器防火墙放通入站 80 与 443(80 用于 ACME 证书签发与跳转)。
# 3) 不要对外开放 5005 / 15081(它们只绑 loopback,给 Caddy 用)。
#
# 启动(测试):caddy run --config Caddyfile_xworldlink
# 装成服务见 README(用 NSSM 把 caddy 也注册为 Windows 服务)。
# ── 官网静态主页(被裸域名与 www 复用) ───────────────────────
# 把主页文件放到服务器的 C:\xworld\site\(须含 index.html)。
(site) {
root * C:\xworld\site
file_server
}
# ── 网关(大厅/对局,WebSocket) ───────────────────────────────
# 客户端连 wss://game.xworld.link/ws?pid=...
# Caddy 的 reverse_proxy 自动处理 WebSocket Upgrade,无需额外配置。
game.xworld.link {
encode zstd gzip
reverse_proxy 127.0.0.1:5005
}
# ── 官网主页(裸域名) ─────────────────────────────────────────
# 需给 xworld.link 加一条 A 记录(主机名 @)指向本机公网 IP。
xworld.link {
encode zstd gzip
import site
}
# ── 资源 CDN(静态文件)+ 官网主页(www) ──────────────────────
# 客户端按 https://www.xworld.link/game/60S/ 为资源根:
# 大厅: …/game/60S/XWorld/<platform>/…
# 小游戏: …/game/60S/minigame/<id>/<ver>/…
# 而 Cdn.Runner 从其 --root 起算路径(/XWorld/… , /minigame/…)
# 故必须用 handle_path 剥掉 /game/60S 前缀再反代,否则 404。
www.xworld.link {
encode zstd gzip
# /game/60S/* 走 CDN
handle_path /game/60S/* {
reverse_proxy 127.0.0.1:15081
}
# 其它路径返回官网静态主页
handle {
import site
}
}