爬上-清凉山

图片
 周二爬山了。 清凉山,不高。 挺好爬的。

VPS主机安装ssl证书

 

一、第一步:一键安装acme.sh

网站:

  1. https://letsencrypt.org/
  2. 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"

评论

此博客中的热门博文

wordpress 安装常见问题