acme.sh
是一种轻量的证书管理工具,主要特点是:
-
支持与 Let's Encrypt 和其他证书颁发机构(CA)对接。
-
通过命令行界面(CLI)自动化整个证书申请、更新和安装流程。
-
它还支持 ECC(Elliptic Curve Cryptography)证书,这些证书较小且具有更高的安全性。
mkdir -p /usr/local/develop/cart
cd /usr/local/develop
运行安装脚本
wget -O - https://get.acme.sh | sh
让 acme.sh
命令生效
source /root/.bashrc
开启 acme.sh
的自动升级
acme.sh --upgrade --auto-upgrade
apt update
#apt install idn
#apt install socat
安装Nginx
apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd /usr/local/develop/nginx-1.24.0
可根据需要替换为最新版:https://nginx.org/en/download.html
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module
make && make install
配置系统启动
vim /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl enable nginx
申请证书需要放开80端口 这里443端口一起开了
ufw enable
ufw allow 80/tcp
ufw allow 443/tcp
systemctl daemon-reload
systemctl start nginx
配置文件
server {
listen 80;
server_name xxx.xxxx.com;
location /.well-known/acme-challenge/ {
root /usr/local/develop/cart; # Webroot 目录
}
# 其他配置...
}
systemctl restart nginx
测试申请 用内置web来申请证书要邮箱什么的 因此先安装nginx
acme.sh --set-default-ca --server letsencrypt
这里没下载到指定文件夹 不知道怎么回事
acme.sh --issue -d xxx.xxxx.com -w /usr/local/develop/cart --keylength ec-256 --force
强制更新证书
/root/.acme.sh/acme.sh --renew -d vps3.flareboot.com --force --home "/root/.acme.sh"
查看定时
crontab -l