使用 Certbot 快速为 hustoj 申请并自动配置免费 SSL 证书 自动续期
以下教程假定您已完成 Hust OJ 的部署,服务器运行环境为 Ubuntu 或 CentOS。
- 域名:确保已为 Hust OJ 配置域名(如
oj.example.com 可以是二级域名
),并将其解析到您的服务器 IP。 - 服务器权限:您需要具有 root 权限或使用具有 sudo 权限的用户登录服务器。
- Web 服务:hustoj 使用的 Web 服务软件(如 Nginx 或 Apache)正确安装和运行。
步骤 1:安装 Certbot
对于基于 Debian/Ubuntu 的系统:
sudo apt update
sudo apt install certbot python3-certbot-nginx
对于基于 CentOS/RHEL 的系统:
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
如果您使用的是 Apache,需将python3-certbot-nginx
替换为python3-certbot-apache
步骤 2:配置 Web 服务
在配置证书前,确保 hustoj 的 Nginx/Apache 配置文件已启用域名。例如,Nginx 配置文件可能如下所示:
server {
listen 80;
server_name oj.example.com;
root /path/to/hust-oj;
location / {
try_files $uri /index.html;
}
}
保存后,重新加载服务:
sudo systemctl reload nginx
步骤 3:申请 SSL 证书
运行以下 Certbot 命令以自动申请和配置证书:
Nginx 用户:
sudo certbot --nginx -d oj.example.com
Apache 用户:
sudo certbot --apache -d oj.example.com
oj.example.com 为你绑定的域名
Certbot 会自动检测您的 Web 服务配置并添加 HTTPS 支持。执行过程中,您需同意服务条款并选择是否将所有 HTTP 流量重定向到 HTTPS。
步骤 4:测试 HTTPS 配置
申请成功后,Certbot 会自动为您的 Hust OJ 配置 SSL。您可以访问 https://oj.example.com
检查是否生效。oj.example.com
为你绑定的域名。
步骤 5:自动续期
Certbot 默认会安装定时任务以自动续期证书,但您可以手动测试:
sudo certbot renew --dry-run
如果没有错误,则续期配置正常。
常见问题排查
- 80 端口被占用:Certbot 需使用 80 端口,请确保未被其他程序占用。
- DNS 解析错误:检查域名是否正确解析到服务器 IP。
如果操作有困难,可付少量费用代为服务,微信 makytony 。
我们专业二开部署oj,有大量专业的题库可以提供。
提供了一套完整的OJ教学系统,高质量题库,直击考试要点,学生刷题更高效!更有课件、教案、讲义等全套教学辅助资料,组织学生刷题,发作业、举办模拟赛等更方便,支持C++、Python等多语言,助您备授课无忧!
题库约3600题,覆盖入门+进阶+算法+蓝桥杯+等级考试+CSP+GESP等 。
1、一本通入门和语法篇 600题 配套PPT课件
2、一本通算法篇和提高篇 220题
3、一本通启蒙篇 480题 配套PPT课件
4、CSP-J NOIP复赛近10年真题 45题
5、东方博宜题目1200题 配套讲义视频300节
6、蓝桥大学组基础和算法篇 280题
7、蓝桥青少组选拔赛省国赛历次真题 180题
8、电子学会等级考试C语言历次真题1-8级 120题
9、GESP等级考试 2023-2024年1-8级真题120题
10、蓝桥Python等考历次真题 240题
11、蓝桥c++等考历次真题 200题
12、USACO官网1-6章练习题真题 93题
13、山东CSP小学组2015-2022年真题 32题
14、CSP-S NOIP复赛1996-2023年历次真题 80题
15、16套CSP-J高质量复赛模拟题64题
目前6.0版本 ,新增一言功能, 在线编辑器更智能化,AC通过弹出洛谷礼花, 可换背景,周排名显示top30,学生等级头衔动态更新, 支持客观题判题 ,支持查看未通过测试点等,接入豆包火山AI助教功能,AI解析题目以及学生的错误(AI单算),嵌入课程版块,可以上传视频 pdf讲义 PPT课件在线播放,方便教学。
https://s.c1ns.cn/xmedu OJ功能介绍使用手册
演示地址:http://212.129.250.124:88/home
学生测试账号 xmvip 密码 888666