获取免费SSL证书教程

576 阅读2分钟

步骤

  1. vultr server安装和freenom域名申请。
  2. DNS解析,两种方式:freenom域名服务器解析(国内体验不好)和Dnspot域名服务器解析。
  3. 远程连接vultr server,安装配置nginx。
sudo yum install -y epel-release
sudo yum -y update
sudo yum install -y nginx
//安装成功后,默认的网站目录为: /usr/share/nginx/html
//默认的配置文件为:/etc/nginx/nginx.conf
//自定义配置文件目录为: /etc/nginx/conf.d/
//如果你的服务器打开了防火墙:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
  1. install the cert to Nginx

(1)推荐:不用花里胡哨的插件

curl  https://get.acme.sh | sh
alias acme.sh=~/.acme.sh/acme.sh

acme.sh --issue  -d mydomain.com   --nginx
acme.sh  --installcert  -d  <domain>.com   \
        --cert-file  /etc/nginx/ssl/<domain>.cer\
        --key-file   /etc/nginx/ssl/<domain>.key \
        --fullchain-file /etc/nginx/ssl/fullchain.cer \
        --reloadcmd  "service nginx force-reload"
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
/******************/
Nginx 的配置 ssl_certificate 使用 
/etc/nginx/ssl/fullchain.cer ,
而非 /etc/nginx/ssl/<domain>.cer ,
否则 SSL Labs 的测试会报 Chain issues Incomplete 错误。
/*****************/

配置nginx.conf

http{
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;

server {
listen 80;
server_name cxsys-download.cf;

location / {
proxy_pass http://127.0.0.1:6080;
}
}
# 新增
server {
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/cxsys-download.cf.key;
# ssl_dhparam 
ssl_dhparam /etc/nginx/ssl/dhparam.pem;

location / {
proxy_pass http://127.0.0.1:6080;
}
}
}

(2)install the cert to Nginx by Centbot ACME(自动执行证书颁发和安装,而不用停机)

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx
/* 增加自动续期 */
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

/**
恭喜你! 您的证书和链条已保存在:
/etc/letsencrypt/live/www.k12coder.tk/fullchain.pem
您的密钥文件已保存在:
/etc/letsencrypt/live/www.k12coder.tk/privkey.pem
您的帐户凭据已保存在Certbot中
配置目录位于/ etc / letsencrypt。 你应该做一个
立即保护此文件夹的备份。 该配置目录将
还包含由Certbot获得的证书和私钥,因此
定期备份此文件夹非常理想。
**/