阅读时间: 2 分钟| 文章字数: 580 字
〔2023年6月13日更新〕
提供服务的 HiCA 在开始提供收费服务后不久(?),宣称:”出于安全事故考虑,HiCA选择在 2023 年 6 月 6 日停止所有服务。所有已签发证书请立即切换到其他 CA 的产品。由此带来不便我们给所有用户表示深深的抱歉。江湖路远,也许我们会再次见面的…”
相关事件讨论:https://github.com/acmesh-official/acme.sh/issues/4659
因此,请忘记本文吧。
基本情况介绍省略一千字…..直接上手:
0 部署 Web 服务器
我喜欢用 Nginx,所以只提供 Ubuntu 系统下的 Nginx 部署方法,有其他癖好者,请自行探索 Web 服务器的部署方法。
sudo apt update
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx部署完成后,Web 服务器的默认目录为:
/var/www/html
保险起见,你们也可以自行检查 Web 服务器路径。
1 部署 acme.sh 项目
参考 acme.sh 项目。
sudo curl https://get.acme.sh | sh
alias acme.sh=~/.acme.sh/acme.sh
acme.sh --upgrade --auto-upgrade2 指定证书源(ZeroSSL)并注册帐号
自行替换代码中的 “myemail@gmail.com” 为个人电子邮箱地址。
acme.sh --set-default-ca --server zerossl
acme.sh --register-account -m myemail@gmail.com3 申请指定 IP 的 SSL 证书
假设需要申请 SSL 证书的 IP 是:1.1.1.1。你们需要自行替换。
acme.sh --issue -d 1.1.1.1 --webroot /var/www/html --server https://acme.hi.cn/directory4 将申请到的 SSL 证书复制到指定路径
先新建一个路径:
sudo mkdir /var/www/ssl复制 fullchain 及 key 文件到指定路径,记得替换正确的 IP:
acme.sh --install-cert -d 1.1.1.1 --key-file /var/www/ssl/1.1.1.1.key --fullchain-file /var/www/ssl/fullchain.crt --reloadcmd "service nginx force-reload"无脑赋权 777 一波:
sudo chmod -R 777 /var/www/ssl5 为 Nginx 写个简单的配置来测试一下
在 /etc/nginx/conf.d 下新建一个 *.conf 文件,文件名随意,写入以下内容(记得更换正确的 key 名称):
server {
listen 80;
server_name localhost;
}
server {
listen 443 ssl http2;
server_name localhost;
root /var/www/html;
ssl_certificate /var/www/ssl/fullchain.crt;
ssl_certificate_key /var/www/ssl/1.1.1.1.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
client_header_timeout 52w;
keepalive_timeout 52w;
location / {
root /var/www/html;
index index.html;
}
}重新加载 Nginx 服务:
sudo systemctl reload nginx访问 IP 地址试试看(自行替换正确的 IP):
https://1.1.1.1
小锁开出来了,有木有?
2022 年 10 月 13 日的时候acme尚能支持-d加IP吗?现在是2025年了,提示不可以哦。。。。。。
我当时是基于 HiCA 项目部署的,直接用 acme.sh -d ip 好像也是不行的。
有您这句话我就踏实了哈哈,看来要免费给IP搞证书,只能用自签名的SAN扩展了。