为什么要给网站开启 Https,做网站的应该都知道吧,哪怕不是站长应该有略有所闻,没有 https 证书的网站,浏览器打开时会提示不安全,很多时候大家看到提示不安全都会关闭,这对网站来说是一件非常糟糕的事情,另外对于需要用到支付功能的网站,没有 https 更加不安全。
如果你想搞微信小程序,没有不仅要开启 https,TLS 最低还得是 1.2版本。
安装 acme.sh
curl https://get.acme.sh | sh
脚本会自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书
安装以后默认会给 acme.sh 生成别名,如果执行 acme.sh 报错 not found。需执行
source ~/.bashrc
手动 alias 命令 (没有alias的可手动添加):
alias acme.sh=~/.acme.sh/acme.sh
另外,acme.sh 已经被 ZeroSSL 商业收购, acme.sh 更改默认申请证书的服务商为 ZeroSSL。商业公司的数据可能说卖就卖了
所以最好更改一下默认 CA 颁发机构,更改默认证书颁发机构为 letsencrypt
acme.sh --set-default-ca --server letsencrypt
如果服务器还没有运行任何 web 服务, 80 端口是空闲的是,那就使用 standalone 模式,还需要另外安装 socat
Debian / Ubuntu
apt update -y && apt install -y socat
CentOS
yum update -y && yum update -y && yum install -y socat
申请证书及密钥
如果不替换默认CA,使用 zerossl 的话,需要先注册
acme.sh --register-account -m xxxx@gmail.com
申请 Let's Encrypt 的直接从下面开始执行
acme.sh --issue -d 你的域名 --standalone
如果前面没有更换默认CA,也可以在申请时指定
acme.sh --issue -d 你的域名 --server letsencrypt --standalone
下载证书及密钥
下载后,在 root 根目录下,会有一个 cert.crt 和 private.key 文件
acme.sh --install-cert -d 你的域名 --key-file /root/private.key --fullchain-file /root/cert.crt
撤销证书,使用:
acme.sh --list
acme.sh --revoke -d mydomain.com
删除证书,使用:
acme.sh --list
acme.sh --remove -d mydomain.com
更新 acme.sh
升级acme.sh到最新版:
acme.sh --upgrade
开启自动升级:
acme.sh --upgrade --auto-upgrade
关闭自动更新:
acme.sh --upgrade --auto-upgrade 0
评论 (0)