x-ui重新申请ssl证书失败

由于某些需要我们重新申请ssl证书,x-ui自动化脚本不能强制更新,根据x-ui仓库源码:

https://github.com/vaxilu/x-ui/blob/main/x-ui.sh

在申请ssl证书的地方稍作修改,得到,运行下面的脚本就可以重新申请ssl证书,不过建议使用global key和origin key的方式更安全,这里我就不改了,还是按照global key和cf邮箱的方式

#!/bin/bashRED='\033[31m'
GREEN='\033[32m'
YELLOW='\033[33m'
BLUE='\033[34m'
RESET='\033[0m'# 日志函数
LOGD() { echo -e "${BLUE}[DEBUG] $* ${RESET}"; }
LOGI() { echo -e "${GREEN}[INFO] $* ${RESET}"; }
LOGE() { echo -e "${RED}[ERROR] $* ${RESET}"; }confirm() {local prompt="$1 (默认: $2) "local default="$2"read -p "$prompt" answeranswer=${answer:-$default}[[ $answer =~ ^[Yy]$ ]] && return 0 || return 1
}echo -e "\n${YELLOW}****** 使用说明 ******${RESET}"
LOGI "该脚本将使用 Acme 脚本申请证书,使用时需保证:"
LOGI "1. 知晓 Cloudflare 注册邮箱"
LOGI "2. 知晓 Cloudflare Global API Key"
LOGI "3. 域名已通过 Cloudflare 解析到当前服务器"
LOGI "4. 证书默认安装路径为 /root/cert 目录"confirm "我已确认以上内容 [y/n]" "y" || { echo -e "${RED}用户取消操作,退出脚本${RESET}"; exit 1; }cd ~ || { LOGE "无法进入用户目录"; exit 1; }# 安装 acme.sh
LOGI "正在安装 Acme 脚本..."
curl https://get.acme.sh | sh
if [ $? -ne 0 ]; thenLOGE "安装 acme.sh 失败!"exit 1
fiCF_Domain=""
CF_GlobalKey=""
CF_AccountEmail=""
certPath="/root/cert"# 清理并创建证书目录
LOGI "设置证书目录: $certPath"
rm -rf "$certPath" 2>/dev/null
mkdir -p "$certPath" || { LOGE "创建目录失败!"; exit 1; }LOGD "请输入域名(如 example.com):"
read -p "Input your domain here: " CF_Domain
LOGD "你的域名设置为: ${CF_Domain}"LOGD "请输入 Cloudflare Global API Key:"
read -p "Input your key here: " CF_GlobalKey
LOGD "你的 API 密钥为: ${CF_GlobalKey}"LOGD "请输入 Cloudflare 注册邮箱:"
read -p "Input your email here: " CF_AccountEmail
LOGD "你的注册邮箱为: ${CF_AccountEmail}"# 设置默认 CA
LOGI "配置默认证书颁发机构为 Let's Encrypt..."
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt || { LOGE "配置 CA 失败!"; exit 1; }export CF_Key="${CF_GlobalKey}"
export CF_Email="${CF_AccountEmail}"# 申请证书
LOGI "正在签发证书(域名: ${CF_Domain})..."
~/.acme.sh/acme.sh --issue --dns dns_cf -d "${CF_Domain}" -d "*.${CF_Domain}" --log --force
if [ $? -ne 0 ]; thenLOGE "证书签发失败!"exit 1
fi# 安装证书
LOGI "正在安装证书到 $certPath ..."
~/.acme.sh/acme.sh --install-cert -d "${CF_Domain}" -d "*.${CF_Domain}" \--ca-file "${certPath}/ca.cer" \--cert-file "${certPath}/${CF_Domain}.cer" \--key-file "${certPath}/${CF_Domain}.key" \--fullchain-file "${certPath}/fullchain.cer"if [ $? -ne 0 ]; thenLOGE "证书安装失败!"exit 1
fi# 设置自动更新
LOGI "启用自动更新..."
~/.acme.sh/acme.sh --upgrade --auto-upgrade || { LOGE "自动更新设置失败!"; exit 1; }# 设置权限
LOGI "设置证书文件权限..."
chmod 600 "${certPath}"/*.cer "${certPath}"/*.key 2>/dev/null
chmod 700 "$certPath"LOGI "${GREEN}证书申请成功!${RESET}"
echo -e "\n${YELLOW}证书文件信息:${RESET}"
ls -lah "$certPath"exit 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/902237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java NIO Java 虚拟线程(微线程)与 Go 协程的运行原理不同 为何Go 能在低配机器上承接10万 Websocket 协议连接

什么是Java NIO? Java NIO(New Input/Output) 是Java 1.4(2002年)引入的一种非阻塞、面向缓冲区的输入输出框架,旨在提升Java在高性能和高并发场景下的I/O处理能力。它相比传统的 Java IO(java…

go环境安装mac

下载go安装包:https://golang.google.cn/dl/ 找到对应自己环境的版本下载。 注意有二进制的包,也有图形界面安装的包。图形界面直接傻瓜式点就行了。 二进制的按照下面操作: 1、下载二进制包。 2、将下载的二进制包解压至 /usr/local目录…

LVGL源码(9):学会控件的使用(自定义弹窗)

LVGL版本:8.3 LVGL的控件各式各样,每种控件都有自己的一些特性,当我们想要使用一个LVGL控件时,我们首先可以通过官网去了解控件的一些基本特性,官网链接如下: LVGL Basics — LVGL documentation&#xf…

《软件设计师》复习笔记(1)——考试介绍【新】

目录 一、考试介绍 证书价值 考试要求 二、【新】计算机与软件工程知识 三、软件设计 一、考试介绍 >考试科目>考题形式>考试时长>合格标准计算机与软件工程知识75道单选题(每题1分,总分75分)2023年11月改革机试后&#…

MCU中的BSS和data都占用SRAM空间吗?

在MCU中,BSS段和data段都占用SRAM空间,但它们的存储方式和用途有所不同。‌ BSS段 BSS段(Block Started by Symbol)用于存储未初始化的全局变量和静态变量。这些变量在程序启动时会被清零,因此它们不占用Flash空间&a…

Ubuntu 22.04 更换 Nvidia 显卡后启动无法进入桌面问题的解决

原显卡为 R7 240, 更换为 3060Ti 后, 开机进桌面时卡在了黑屏界面, 键盘有反应, 但是无法进入 shell. 解决方案为 https://askubuntu.com/questions/1538108/cant-install-rtx-4060-ti-on-ubuntu-22-04-lts 启动后在开机菜单中(如果没有开机菜单, 需要按shift键), 进入recove…

Python爬虫-爬取猫眼演出数据

前言 本文是该专栏的第53篇,后面会持续分享python爬虫干货知识,记得关注。 猫眼平台除了有影院信息之外,它还涵盖了演出信息,比如说“演唱会,音乐节,话剧音乐剧,脱口秀,音乐会,戏曲艺术,相声”等等各种演出相关信息。 而本文,笔者将以猫眼平台为例,基于Python爬虫…

人工智能-机器学习(线性回归,逻辑回归,聚类)

人工智能概述 人工智能分为:符号学习,机器学习。 机器学习是实现人工智能的一种方法,深度学习是实现机器学习的一种技术。 机器学习:使用算法来解析数据,从中学习,然后对真实世界中是事务进行决策和预测。如垃圾邮件检…

FPGA学习(五)——DDS信号发生器设计

FPGA学习(五)——DDS信号发生器设计 目录 FPGA学习(五)——DDS信号发生器设计一、FPGA开发中常用IP核——ROM/RAM/FIFO1、ROM简介2、ROM文件的设置(1)直接编辑法(2)用C语言等软件生成初始化文件 3、ROM IP核配置调用 二、DDS信号发…

【Vue】从 MVC 到 MVVM:前端架构演变与 Vue 的实践之路

个人博客:haichenyi.com。感谢关注 一. 目录 一–目录二–架构模式的演变背景​三–MVC:经典的分层起点​四–MVP:面向接口的解耦尝试​五–MVVM:数据驱动的终极形态​​六–Vue:MVVM 的现代化实践​​​ 二. 架构模…

【算法】快速排序、归并排序(非递归版)

目录 一、快速排序&#xff08;非递归&#xff09; 1.原理 2.实现 2.1 stack 2.2 partition(array,left,right) 2.3 pivot - 1 > left 二、归并排序&#xff08;非递归&#xff09; 1.原理 2.实现 2.1 gap 2.1.1 i 2*gap 2.1.2 gap * 2 2.1.3 gap < array.…

CasualLanguage Model和Seq2Seq模型的区别

**问题1&#xff1a;**Causal Language Modeling 和 Conditional Generation 、Sequence Classification 的区别是什么&#xff1f; 因果语言模型(Causal Language Model)&#xff1a; 预测给定文本序列中的下一个字符&#xff0c;一般用于文本生成、补全句子等&#xff0c;模型…

【计算机视觉】三维视觉项目 - Colmap二维图像重建三维场景

COLMAP 3D重建 项目概述项目功能项目运行方式1. 环境准备2. 编译 COLMAP3. 数据准备4. 运行 COLMAP 常见问题及解决方法1. **编译问题**2. **运行问题**3. **数据问题** 项目实战建议项目参考文献 项目概述 COLMAP 是一个开源的三维重建软件&#xff0c;专注于 Structure-from…

状态管理最佳实践:Bloc架构实践

状态管理最佳实践&#xff1a;Bloc架构实践 引言 Bloc (Business Logic Component) 是Flutter中一种强大的状态管理解决方案&#xff0c;它基于响应式编程思想&#xff0c;通过分离业务逻辑和UI表现层来实现清晰的代码架构。本文将深入探讨Bloc的核心概念、实现原理和最佳实践…

Python多任务编程:进程全面详解与实战指南

1. 进程基础概念 1.1 什么是进程&#xff1f; 进程(Process)是指正在执行的程序&#xff0c;是程序执行过程中的一次指令、数据集等的集合。简单来说&#xff0c;进程就是程序的一次执行过程&#xff0c;它是一个动态的概念。 想象你打开电脑上的音乐播放器听歌&#xff0c;…

Linux 网络基础(二) (传输协议层:UDP、TCP)

目录 一、传输层的意义 二、端口号 1、五元组标识一个通信 2、端口号范围划分 3、知名端口号&#xff08;Well-Know Port Number&#xff09; &#xff08;1&#xff09;查看端口号 4、绑定端口号数目问题 5、pidof & netstat 命令 &#xff08;1&#xff09;ne…

得佳胜哲讯科技 SAP项目启动会:胶带智造新起点 数字转型新征程

在全球制造业加速向数字化、智能化转型的浪潮中&#xff0c;胶带制造行业正迎来以“自动化生产、数据化运营、智能化决策”为核心的新变革。工业互联网、大数据分析与智能装备的深度融合&#xff0c;正推动胶带制造从传统生产模式向“柔性化生产精准质量控制全链路追溯”的智慧…

大数据学习栈记——MapReduce技术

本文介绍hadoop中的MapReduce技术的应用&#xff0c;使用java API。操作系统&#xff1a;Ubuntu24.04。 MapReduce概述 MapReduce概念 MapReduce是一个分布式运算程序的编程框架&#xff0c;核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序…

Centos9 离线安装 MYSQL8

centos 9 离线安装 mysql 8 参考教程 1. 官网下载mysql 下载地址 2. 将文件传输到Centos中解压 软件全部安装到了/opt中 在opt中新建mysql目录&#xff0c;解压到mysql目录中 tar -xvf mysql压缩文件 mysql[rootcentoshost mysql]# ls mysql-community-client-8.4.5-1.e…

helm的go模板语法学习

1、helm chart 1.0、什么是helm&#xff1f; 介绍&#xff1a;就是个包管理器。理解为java的maven、linux的yum就好。 安装方法也可参见官网&#xff1a; https://helm.sh/docs/intro/install 通过前面的演示我们知道&#xff0c;有了helm之后应用的安装、升级、查看、停止都…