使用 Certbot 快速为 hustoj 申请并自动配置免费 SSL 证书 自动续期

以下教程假定您已完成 Hust OJ 的部署,服务器运行环境为 Ubuntu 或 CentOS。

  1. 域名 :确保已为 Hust OJ 配置域名(如 oj.example.com 可以是二级域名),并将其解析到您的服务器 IP。
  2. 服务器权限:您需要具有 root 权限或使用具有 sudo 权限的用户登录服务器。
  3. Web 服务:hustoj 使用的 Web 服务软件(如 Nginx 或 Apache)正确安装和运行。

步骤 1:安装 Certbot

对于基于 Debian/Ubuntu 的系统:
cpp 复制代码
sudo apt update
sudo apt install certbot python3-certbot-nginx
对于基于 CentOS/RHEL 的系统:
cpp 复制代码
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 配置文件可能如下所示:

cpp 复制代码
server {
    listen 80;
    server_name oj.example.com;

    root /path/to/hust-oj;

    location / {
        try_files $uri /index.html;
    }
}

保存后,重新加载服务:

cpp 复制代码
sudo systemctl reload nginx
复制代码

步骤 3:申请 SSL 证书

运行以下 Certbot 命令以自动申请和配置证书:

Nginx 用户:
cpp 复制代码
sudo certbot --nginx -d oj.example.com
Apache 用户:
cpp 复制代码
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 默认会安装定时任务以自动续期证书,但您可以手动测试:

cpp 复制代码
sudo certbot renew --dry-run

如果没有错误,则续期配置正常。

常见问题排查

  1. 80 端口被占用:Certbot 需使用 80 端口,请确保未被其他程序占用。
  2. 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

相关推荐
网络安全Ash5 小时前
全国知名网络安全赛事西湖论剑·杭州网络安全技能大赛启动报名
网络·安全·web安全
Spiffo_Sir6 小时前
【Spiffo】排障:VsCode报错“过程试图写入的管道不存在”(网络环境正常且地址正常的情况下依然出现)
网络·ide·vscode
MAR-Sky7 小时前
集线器,交换机,路由器,mac地址和ip地址知识记录总结
网络·tcp/ip·智能路由器
柒烨带你飞7 小时前
热备份路由HSRP及配置案例
网络·智能路由器
黑客呀8 小时前
网络安全笔记
网络·安全·web安全
让世界再也没有bug9 小时前
显示视频DP、HDMI、DVI、VGA接口的区别
网络·智能硬件
秋说9 小时前
【网络协议】什么是 BGP? | 解释 BGP 路由
网络协议·bgp
wangqiaowq10 小时前
HTTP、HTTP/2 和 gRPC 是网络通信协议或基于这些协议的技术,它们之间有显著的区别
网络·网络协议·http
InnovatorX10 小时前
Node.js 中 http 模块的深度剖析与实战应用
网络协议·http·node.js
橙子 chen10 小时前
工具函数 - 调用http
java·大数据·网络·数据库·python·网络协议·http