feat: 添加自动申请证书和配置反向代理的脚本
添加新的bash脚本用于自动化以下操作: 1. 通过acme.sh申请Let's Encrypt证书 2. 配置Cloudflare DNS验证 3. 设置证书自动续期 4. 生成并配置Nginx反向代理 脚本包含用户交互输入域名、代理IP和端口的功能,并自动完成证书申请和Nginx配置。
This commit is contained in:
1 parent
711d02f2da
commit
15373c2ab7
1 file changed
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
read -r -p "请输入域名: " domain_name
|
||||
read -r -p "请输入代理IP地址: " ip_address
|
||||
read -r -p "请输入代理端口: " port
|
||||
|
||||
# 设置Cloudflare API环境变量
|
||||
export CF_Token="wCZ-IdP8zY-Gdf5e3ZMGkeys_DeSiBQq2z0_SN2Y" # 替换为刚生成的API令牌
|
||||
export CF_Account_ID="ybwpcl@hotmail.com" # 在Cloudflare控制台首页右侧获取
|
||||
|
||||
# 安装acme.sh(必须先安装)
|
||||
echo "正在安装 acme.sh 脚本..."
|
||||
curl https://get.acme.sh | sh
|
||||
source ~/.bashrc # 刷新环境变量
|
||||
|
||||
# 注册账户(只需执行一次)
|
||||
echo "正在注册账户..."
|
||||
~/.acme.sh/acme.sh --register-account -m admin@digitaluniverse.pro
|
||||
|
||||
# 使用DNS验证申请证书(关键步骤)
|
||||
echo "正在使用DNS验证签发证书..."
|
||||
~/.acme.sh/acme.sh --issue --dns dns_cf -d "$domain_name" --keylength ec-256 # ECC证书更高效
|
||||
|
||||
# 安装证书到指定位置
|
||||
echo "正在安装证书..."
|
||||
~/.acme.sh/acme.sh --installcert -d "$domain_name" --key-file /home/web/certs/"${domain_name}"_key.pem --fullchain-file /home/web/certs/"${domain_name}"_cert.pem
|
||||
echo "证书签发安装操作完成。"
|
||||
|
||||
# 关键改进2:安装自动续期任务
|
||||
echo "安装自动续期任务..."
|
||||
~/.acme.sh/acme.sh --install-cronjob
|
||||
|
||||
# 验证定时任务
|
||||
echo "当前定时任务:"
|
||||
crontab -l | grep acme
|
||||
|
||||
echo "配置反向代理配置文件..."
|
||||
wget -O /home/web/conf.d/"$domain_name".conf https://raw.githubusercontent.com/kejilion/nginx/main/reverse-proxy.conf
|
||||
sed -i "s/yuming.com/$domain_name/g" /home/web/conf.d/"$domain_name".conf
|
||||
sed -i "s/0.0.0.0/$ip_address/g" /home/web/conf.d/"$domain_name".conf
|
||||
sed -i "s/0000/$port/g" /home/web/conf.d/"$domain_name".conf
|
||||
echo "配置完成"
|
||||
Reference in new issue
Block a user