步骤
- vultr server安装和freenom域名申请。
- DNS解析,两种方式:freenom域名服务器解析(国内体验不好)和Dnspot域名服务器解析。
- 远程连接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
- 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获得的证书和私钥,因此
定期备份此文件夹非常理想。
**/