Commit Graph

15 Commits

Author SHA1 Message Date
92e1c2b75d refactor(deploy): 容器内 nginx 换成 Caddy
TLS 和域名由前面的 Nginx Proxy Manager 负责,容器里这层只做静态文件
和反代,用 Caddy 配置更短,也消掉了两个坑:add_header 不继承、
entrypoint 里 __IP_HEADER__ 的 sed 替换。

- deploy/nginx/ 四个配置文件合并成一个 deploy/caddy/Caddyfile
- Dockerfile 去掉 nginx 包,改从官方镜像拷 Caddy 静态二进制
- supervisord 的 nginx 程序换成 caddy,跑在非特权的 server 账号下
- entrypoint 删掉自签证书、http_locations.conf 软链、IP header sed

行为对齐:body 上限写 200MiB 才等于 nginx 的 200M;心跳和 /assets/
继续不记访问日志;安全头、缓存策略、gzip 覆盖范围保持不变。

两处行为变化:
- 访问日志变成 JSON,路径 /data/log/caddy_access.log
- X-Accel-Buffering 是 nginx 私有头,AI 的 SSE 改由 flush_interval -1
  保证不缓冲,上线需实测

FORCE_HTTPS 和 LOWER_IP_HEADER 两个环境变量随之作废,真实 IP 改由
trusted_proxies + {client_ip} 从 NPM 的 XFF 解析。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-05 09:50:46 -06:00
dab6734d03 switch docker image 2026-06-14 09:13:05 -06:00
Mikucat
c25a314001 fix: sync UID and GID with JudgeServer 2024-04-07 18:06:37 +08:00
virusdefender
5ae50e4e54 设置 gunicorn 和 celery 的 worker 数量,最小是 2 2019-01-05 14:53:55 +08:00
virusdefender
8403726455 fix old files permission 2018-10-14 21:33:08 +08:00
virusdefender
94baab8570 try to fix permission 2018-10-14 17:49:20 +08:00
zema1
8ee1b514e3 Fixed problems in dispatcher, fixed testcase download error 2018-08-21 15:22:35 +08:00
virusdefender
ee12a1f527 对 testcase 使用 nobody 700 的权限 2018-08-10 08:05:02 +08:00
virusdefender
d5468803ba use secret key file 2018-05-05 15:21:53 +08:00
zema1
d8221ca8f5 fix cdn host replacement 2018-01-06 22:24:55 +08:00
virusdefender
dbce3e443a redis retry 2018-01-06 14:26:46 +08:00
virusdefender
b50f5404ff update replace static cdn host function 2018-01-05 10:44:19 +08:00
virusdefender
679512e3cc fix FORCE_HTTPS
add ip_header env
2018-01-05 10:44:15 +08:00
virusdefender
41f248091e add replace cdn host function 2017-12-27 22:04:06 +08:00
virusdefender
3c8e6cd9f3 use entrypoint 2017-12-24 11:01:33 +08:00