87 lines
2.3 KiB
Caddyfile
87 lines
2.3 KiB
Caddyfile
# ==================== DesignerCEP Caddy 配置 ====================
|
||
#
|
||
# 用途:
|
||
# - app.aidg168.uk → 前端应用(静态文件)
|
||
# - backend.aidg168.uk → 后端 API(反向代理到 FastAPI)
|
||
#
|
||
# 部署位置:/etc/caddy/Caddyfile
|
||
{
|
||
# 邮箱(用于 HTTPS 证书)
|
||
email admin@aidg168.uk
|
||
|
||
# 使用 Cloudflare 橙云代理,关闭自动 HTTPS
|
||
auto_https off
|
||
}
|
||
|
||
# ==================== 前端应用 ====================
|
||
http://app.aidg168.uk, https://app.aidg168.uk {
|
||
# 静态文件根目录(已修复路径)
|
||
root * /var/www/app
|
||
|
||
# SPA 路由支持(所有请求返回 index.html)
|
||
try_files {path} /index.html
|
||
|
||
# 提供静态文件
|
||
file_server
|
||
|
||
# ========== 缓存策略 ==========
|
||
|
||
# HTML 不缓存
|
||
@html path *.html
|
||
header @html Cache-Control "no-cache, no-store, must-revalidate"
|
||
|
||
# JS/CSS 长期缓存
|
||
@assets path *.js *.css *.woff *.woff2
|
||
header @assets Cache-Control "public, max-age=31536000, immutable"
|
||
|
||
# 图片缓存
|
||
@images path *.png *.jpg *.jpeg *.gif *.svg *.ico
|
||
header @images Cache-Control "public, max-age=2592000"
|
||
|
||
# ========== 安全头 ==========
|
||
header {
|
||
# 允许 CEP 插件通过 iframe 嵌入
|
||
# 注释掉 X-Frame-Options 以支持 Photoshop 插件
|
||
# X-Frame-Options "SAMEORIGIN"
|
||
X-Content-Type-Options "nosniff"
|
||
X-XSS-Protection "1; mode=block"
|
||
-Server
|
||
}
|
||
|
||
# ========== 压缩 ==========
|
||
encode gzip
|
||
|
||
# ========== 日志 ==========
|
||
log {
|
||
output file /var/log/caddy/app.log {
|
||
roll_size 50mb
|
||
roll_keep 5
|
||
}
|
||
}
|
||
}
|
||
|
||
# ==================== 后端 API ====================
|
||
http://backend.aidg168.uk, https://backend.aidg168.uk {
|
||
# 反向代理到 Docker 容器(localhost:8000)
|
||
# Caddy 在宿主机运行,需要通过 localhost 访问 Docker 容器
|
||
reverse_proxy localhost:8000 {
|
||
header_up X-Real-IP {remote_host}
|
||
}
|
||
|
||
encode gzip
|
||
|
||
log {
|
||
output file /var/log/caddy/backend.log {
|
||
roll_size 50mb
|
||
roll_keep 5
|
||
}
|
||
}
|
||
}
|
||
|
||
# ==================== 主域名重定向 ====================
|
||
http://aidg168.uk, http://www.aidg168.uk, https://aidg168.uk, https://www.aidg168.uk {
|
||
redir https://app.aidg168.uk{uri} permanent
|
||
}
|
||
|