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.pswp.cn/news/902237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902237.shtml
英文地址,請注明出處:http://en.pswp.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之后應用的安裝、升級、查看、停止都…