Files
vue-driven-cloud-storage/install.sh
WanWanYun 503a760b17 feat: 添加独立的SSL证书管理模式
新增功能:
- 新增 --ssl/--cert/ssl 命令行参数
- 交互式菜单添加 [5] SSL证书管理 选项
- 可单独配置/更换/续签SSL证书,无需重新部署整个项目

使用场景:
1. 初次部署时选择了"暂不配置HTTPS",现在想添加证书
2. 现有证书即将过期,需要续签(虽然有自动续期,但也可手动)
3. 想更换SSL方案(例如从Certbot换到acme.sh)
4. 想更换域名的SSL证书
5. 想移除HTTPS配置,改回HTTP模式

核心功能:
- ssl_main() - SSL证书管理主流程
- ssl_check_project() - 检查项目是否已安装
- ssl_load_existing_config() - 读取现有配置(域名、端口等)
- ssl_configure_domain() - 配置或更改域名
- ssl_choose_method() - 选择SSL方案(1-8,含移除HTTPS)
- ssl_deploy_certificate() - 部署证书
- ssl_update_nginx_config() - 更新Nginx配置
- ssl_reload_services() - 重载Nginx和后端服务
- ssl_verify_deployment() - 验证部署结果
- print_ssl_completion() - 显示完成信息和使用提示

使用方法:
# 方法1: 命令行参数
bash install.sh --ssl

# 方法2: 交互式菜单
bash install.sh
> 选择 [5] SSL证书管理

# 方法3: 别名
bash install.sh --cert

工作流程:
1. 检查项目是否已安装
2. 读取现有Nginx配置(HTTP/HTTPS端口、域名)
3. 确认或修改域名配置
4. 选择SSL证书方案(支持所有8种方案)
5. 先配置HTTP模式(Let's Encrypt验证需要)
6. 申请/部署SSL证书
7. 更新Nginx为HTTPS配置(或保持HTTP,如果选择8)
8. 重载Nginx和后端服务
9. 验证部署并显示证书信息

特殊选项:
- [8] 移除HTTPS配置 - 将HTTPS站点改回HTTP模式
- [0] 取消操作 - 不做任何修改

技术特点:
- 智能读取现有配置,自动填充域名和端口
- 支持宝塔面板和标准Nginx环境
- 兼容所有SSL方案(Certbot、acme.sh系列、手动证书)
- 自动处理证书路径和Nginx配置
- 显示证书有效期信息

影响范围:
- install.sh 新增 ~450 行代码
- 添加 9 个新函数
- 更新交互式菜单和命令行帮助
2025-11-13 13:56:06 +08:00

139 KiB