0、前言
开源免费的证书机构let’s encrypt,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,比较有权威性。
下面的是 https://blog.inphper.com 实例上的部署安装过程。
1、下载客户端安装脚本
[1]# cd /root
[2]# wget -O acme.sh https://get.acme.sh
[3]# sh acme.sh
命令注释说明
- 切换到 root 主目录,
- 下载安装脚本
- 安装客户端脚本
- 安装目录
/root/.acme.sh/
- 命令路径
/root/.acme.sh/acme.sh
- 会增加定时命令,保证过期之前进行证书重新申请
- 使用
crontab -l
可查看- 输出日志有
Install success!
表示安装成功- 参考图片
2、注册账户
[1]# .acme.sh/acme.sh --register-account -m xxxxx@xx.com
命令注释说明:
- 使用邮箱地址更新账户信息
--register-account
注册账户信息xxxx@xx.com
更新账户信息的邮箱地址
3、申请证书
[1]# .acme.sh/acme.sh --issue -d blog.inphper.com -w /var/www/blog.inphper.com/
命令注释说明:
- 根据邮箱地址申请证书
--issue
表示申请证书-d blog.inphper.com
表示申请的证书域名(blog.inphper.com 请使用你的域名)-w /var/www/blog.inphper.com/
表示指定网站的根目录路径- 可使用
~/.acme.sh/acme.sh --help
查年帮助文档- 生成的证书位于
~/.acme.sh/<域名地址>/
目录下
4、安装证书
[1]# mkdir /usr/local/nginx/ssl
[2]# .acme.sh/acme.sh \
--installcert \
-d blog.inphper.com \
--keypath /usr/local/nginx/ssl/blog.inphper.com.key \
--fullchainpath /usr/local/nginx/ssl/blog.inphper.com.crt \
--reloadcmd "/usr/local/nginx/sbin/nginx -s reload"
命令注释说明:
- 创建存放证书目录
- 安装证书
--installcert
表示安装证书-d blog.inphper.com
表示申请的证书域名(blog.inphper.com 请使用你的域名)--keypath
表示证书KEY的存放路径--fullchainpath
表示证书的存放路径--reloadcmd
表示安装成功后重新加载的命令- 以上命令会记录下来,以便下次自动缓期证书的时候,执行
--reloadcmd
命令
5、配置 NGINX
server {
listen 80;
server_name blog.inphper.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
listen 443 ssl;
server_name blog.inphper.com;
ssl on;
ssl_certificate /usr/local/nginx/ssl/blog.inphper.com.crt;
ssl_certificate_key /usr/local/nginx/ssl/blog.inphper.com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
}