Repository navigation
HTTPS.zh CN
English | 简体中文
默认安装提供 0.0.0.0:80 的 HTTP 站点。域名 HTTPS 需另外配置证书和代理;公网传输管理员密码、AI Key 和远程评测密钥前应完成此步骤。
先将域名 A 记录指向服务器公网 IP,在防火墙和云安全组允许 TCP 80、443。项目安装时把 Nginx 放在回环地址:
sudo bash /tmp/llmoj-install.zh-CN.sh --repository houyhlouis/LLMOJ \
--yes --listen 127.0.0.1 --port 8080 --public-url https://oj.example.com若只部署网页,在命令后加 --role web。--public-url 必须是浏览器最终访问的 HTTPS origin,使评测文件签名地址、OAuth 回调等使用正确地址。
按 Caddy 官方安装说明 安装 systemd 版本,并将 /etc/caddy/Caddyfile 设置为:
oj.example.com {
reverse_proxy 127.0.0.1:8080
}应用配置:
sudo caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile
sudo systemctl enable --now caddy
sudo systemctl reload caddy
curl -I https://oj.example.com/满足 DNS 与端口条件时,Caddy 会申请和续期证书,并把 HTTP 重定向到 HTTPS;参见 官方 HTTPS 指南。反向代理会处理 WebSocket 升级,参见 reverse_proxy 文档。本示例未开启请求访问日志。
保留 /api/socket 的 WebSocket Upgrade,支持长连接,并完整转发 /api/、/socket.io/、/storage/ 和前端路径。/storage/ 的签名参数必须保留;交由项目内置 Nginx 还原 MinIO 的签名 Host,不直接改接到公开 MinIO。
评测鉴权 key 位于 WebSocket 查询参数中。内置 Nginx 对该路径关闭访问日志,并对其他路径仅记录无查询串的 URI;外层代理也应避免记录查询串。不要开启可能记录完整请求 URL 的调试日志。
数据库、Redis、MinIO、后端和指标端口继续仅回环监听。修改已安装站点的 origin、端口或监听地址属于配置迁移:先备份私有配置,统一修改后端公开地址、MinIO 对 judge 的下载地址、Nginx 与必要的本机下载覆盖地址,验证再重启。安装器会拒绝把已有实例直接当作不同参数的新实例覆盖。
简体中文
- LLMOJ Wiki
- AI 运行环境变量与固定限制
- AI 配置、权限与执行流程
- 后端配置完整参考
- 团队、题解、作废、Hack 与自测升级
- 配置总览与生效规则
- 比赛赛制
- 分布式评测与网页分离
- Docker 源
- 环境变量、构建与维护工具
- 前端与 bootstrap 配置
- HTTPS 与反向代理
- Hack
- 安装与端口配置
- 评测端完整配置与 CPU 扩缩容
- 基础服务与安装后运维配置
- 发布源码、版本与 GitHub Wiki
- 新用户注册审核
- 独立评测机安装
- Self Eval(NOI / OI 比赛预测试)
- 题解
- 评测记录 Fake
- 评测记录预览
- 团队
- 两步验证
- 保留配置与数据的一键升级
English
- LLMOJ Wiki
- AI configuration, permissions and execution
- AI runtime environment and fixed limits
- Complete backend configuration reference
- Teams, solutions, moderation, Hack and self-evaluation upgrade
- Configuration overview and activation
- Contest rules
- Distributed judging and web/judge separation
- Docker sources
- Environment, builds, and maintenance tools
- Frontend and bootstrap configuration
- HTTPS and reverse proxies
- Hacks
- Installation and ports
- Complete judge configuration and CPU resizing
- Infrastructure and post-install operations
- Source, release and GitHub Wiki publishing
- Registration approval
- Independent judge installation
- Self Eval for NOI / OI contests
- Solutions
- Fake submission moderation
- Submission previews
- Teams
- Two-factor sign-in
- Upgrading while preserving configuration and data