VPS主机安装ssl证书
一、第一步:一键安装acme.sh
网站:
- https://letsencrypt.org/
- https://github.com/Neilpang/acme.sh
使用以下可以一键安装:
curl https://get.acme.sh | sh
或者:
wget -O - https://get.acme.sh | sh
使用喜欢Git命令也可以用以下命令安装:
git clone https://github.com/Neilpang/acme.sh.git cd ./acme.sh ./acme.sh --install
脚本主要做了以下事情:
1.生成复制了
acme.sh
到你的($HOME
):~/.acme.sh/
目录下 ,后面所有的证书都会在这个目录生成.2.Create alias for:
acme.sh=~/.acme.sh/acme.sh
. 注意:安装完成后你需要关闭再打开终端才可以让alias 生效。3.增加了一个定时任务,用于SSL证书更新.
二、第二步:一键签发SSL证书
如果执行命令:acme.sh 提示如下错误:
-bash: acme.sh: command not found
你可以使用以下命令来修复:
命令:source ~/.bashrc或source ~/.bash_profile
2.1 单个域名SSL
注意:-w后面是域名的根目录,请根据实际修改.
acme.sh --issue -d wzfou.com -w /home/wwwroot/daddit.org #默认签发的是RSA,如果你想签发ECC证书,请使用以下命令 acme.sh --issue -d daddit.org -w /home/wwwroot/daddit.org --keylength ec-256
或者:
acme.sh --issue -d daddit.org -w /home/wzfou/public_html
#默认签发的是RSA,如果你想签发ECC证书,请使用以下命令 acme.sh --issue -d daddit.org -w /home/wzfou/public_html --keylength ec-256
或者:
acme.sh --issue -d daddit.org -w /var/www/html
#默认签发的是RSA,如果你想签发ECC证书,请使用以下命令 acme.sh --issue -d daddit.org -w /var/www/html --keylength ec-256
2.2 多个域名SSL
acme.sh --issue -d wzfou.com -d www.wzfou.com -d cp.wzfou.com -w /home/wwwroot/wzfou.com #默认签发的是RSA,如果你想签发ECC证书,请使用以下命令 acme.sh --issue -d wzfou.com -d www.wzfou.com -d cp.wzfou.com -w /home/wwwroot/wzfou.com --keylength ec-256
2.3 泛域名SSL
注意:泛域名SSL证书签发要用到DNS验证的方式,参考2.4部分。
acme.sh --issue --dns dns_dp -d wzfou.com -d *.
#默认签发的是RSA,如果你想签发ECC证书,请使用以下命令
acme.sh --issue --dns dns_dp -d wzfou.com -d *.wzfou.com --keylength ec-256
#可选长度有:
ec-256 (prime256v1, “ECDSA P-256”)
ec-384 (secp384r1, “ECDSA P-384”)
三、第三步:安装letsencrypt SSL证书
这一步部分其实可以根据各自的实际来执行了,为了让acme.sh
可以自动更新续期SSL证书,建议使用以下操作方法来执行,这样acme.sh
每次更新完了SSL证书后都自动按照你第一次安装SSL证书的方法执行一遍同步SSL证书的命令。
Apache 服务器安装letsencrypt SSL证书如下::
acme.sh --install-cert -d wzfou.com \
--cert-file /path/to/certfile/in/apache/cert.pem \
--key-file /path/to/keyfile/in/apache/key.pem \
--fullchain-file /path/to/fullchain/certfile/apache/fullchain.pem \
--reloadcmd "service apache2 force-reload"
Nginx 服务器安装letsencrypt SSL证书e:
acme.sh --install-cert -d daddit.org \
--key-file /path/to/keyfile/in/nginx/key.pem \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd "service nginx force-reload"
实际操作中,大家根据需要调整好证书和密钥的路径,由于我使用的ECC证书,并且重启Apache2的命令无效,所以我用的以下命令:
acme.sh --install-cert -d ping.wzfou.com --ecc \
--cert-file /etc/pki/tls/certs/ping.wzfou.com.cer \
--key-file /etc/pki/tls/certs/ping.wzfou.com.key \
--fullchain-file /etc/pki/tls/certs/fullchain.cer \
--reloadcmd "/etc/init.d/httpd force-reload"
========
第一步命令:
curl https://get.acme.sh | sh
或者:
wget -O - https://get.acme.sh | sh
第二步命令:
acme.sh --issue -d daddit.org -w /home/wwwroot/daddit.org
第三步命令
acme.sh --issue -d daddit.org -d www.daddit.org -w /home/wwwroot/daddit.org
第四步命令
acme.sh --install-cert -d daddit.org \
--key-file /path/to/keyfile/in/nginx/key.pem \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd "service nginx force-reload"
评论