支持同机双域名部署选号网hfb_show

Caddy按CADDY_SHOW_DOMAIN托管选号网静态并反代API;一键脚本可构建hfb_show并写入配置。
This commit is contained in:
yml2213
2026-07-16 22:24:40 +08:00
parent a4189db4ca
commit a0fc23647b
12 changed files with 267 additions and 38 deletions
+35 -28
View File
@@ -8,6 +8,35 @@
header_up X-Real-IP {remote_host}
}
# 公开 API 反代片段:主站与选号网共用。
(public_api) {
@api_sse {
path /api/chats/events /api/admin/chats/events
}
handle @api_sse {
reverse_proxy backend:8080 {
flush_interval -1
import backend_proxy
}
}
handle /api/* {
request_body {
max_size 11MB
}
reverse_proxy backend:8080 {
import backend_proxy
}
}
handle /health {
reverse_proxy backend:8080 {
import backend_proxy
}
}
}
{$CADDY_DOMAIN} {
encode zstd gzip
@@ -20,33 +49,7 @@
Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' https: data: blob:; font-src 'self' data:; connect-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'none'; form-action 'self'"
}
# 聊天 SSE 长连接:关闭缓冲,逐条推送。
@api_sse {
path /api/chats/events /api/admin/chats/events
}
handle @api_sse {
reverse_proxy backend:8080 {
flush_interval -1
import backend_proxy
}
}
handle /api/* {
# 后端上传上限 10MB,这里前置拦掉超大请求体(留 1MB 余量)。
request_body {
max_size 11MB
}
reverse_proxy backend:8080 {
import backend_proxy
}
}
handle /health {
reverse_proxy backend:8080 {
import backend_proxy
}
}
import public_api
# 生产后台页面使用构建时配置的隐藏入口,旧 /admin 入口直接返回 404。
@legacy_admin path /admin /admin/*
@@ -54,7 +57,7 @@
respond 404
}
# 其余流量返回前端静态资源,未命中的路径交给 SPA 处理
# 其余流量返回主站前端静态资源。
handle {
root * /srv/dist
try_files {path} /index.html
@@ -62,6 +65,10 @@
}
}
# 选号网(hfb_show):仅当 CADDY_SHOW_DOMAIN 有值时由部署脚本启用 conf.d/show.caddy。
# 未配置时 conf.d 为空,不影响主站。
import /etc/caddy/conf.d/*.caddy
# Beszel 自带登录与权限控制;单独子域避免与业务站点的 CSP、路由相互影响。
monitor.{$CADDY_DOMAIN} {
encode zstd gzip