Ubuntu操作系统nginx使用let‘s Encrypt申请和使用https流程

Let’s Encrypt是一个非盈利的,免费的CA,可以提供免费HTTPS认证服务。 提供了一套完整的工具,基于这套工具,我们可以免费来搭建HTTPS网站。 

1 安装Certbot

sudo apt-get install certbot python3-certbot-nginx -y

2 申请证书

每个-d后面是一个域名

sudo certbot certonly --nginx --email email@example.com --agree-tos -d example.com -d www.example.com

申请成功后证书的保存目录:/etc/letsencrypt/live/example.com/

3 修改nginx配置文件

在server {} 内增加https配置

listen 443 ssl http2;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; 
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; 
ssl_ecdh_curve X25519:secp384r1; 
ssl_session_cache shared:SSL:50m; 
ssl_session_timeout 1440m; 
ssl_session_tickets off; 
ssl_protocols TLSv1.2 TLSv1.3; 
ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; 
ssl_stapling on; 
ssl_stapling_verify on; 
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; 
add_header Strict-Transport-Security "max-age=31536000; preload";

4 重载nginx配置

sudo systemctl reload nginx

5 检查是否自动启动更新

证书有效期为90天,目前certbot工具每天检查两次,在小于30天的时候会自动更新证书。通过以下命令可以看到运行状态。

sudo systemctl status certbot.timer

You May Also Like

About the Author: 一块自由的砖

码农一个,一块自由勤恳的砖,哪里需要哪里搬!( ̄▽ ̄)"