使用Let’s Encrypt给网站加密

使用 Let’s Encrypt 给网站加密

还没给你的网站加上Https?快用 Let’s Encrypt 给你的网站加个小锁吧!

证书申请

来此加密 按照步骤给域名申请证书,需要用邮箱注册账号。

验证的话,直接在域名解析里加个 TXT 类型的 DNS 解析,等 3 分钟就可以验证了。添加完了可以用 nslookup -q=txt _acme-challenge.xxx.com 验证是否添加成功。


本来之前我用 FreeSSL 的,还有个客户端 KeyManager,阿里云可以一键申请证书和一键部署非常方便,但是我在用一键部署的时候一直卡住,试了几次没成功就放弃了。换了 Let’s Encrypt。

上传证书

证书申请成功后,下载下来是一个压缩包,解压缩后里面有几个文件,用 scp 命令或者 ftp 工具将文件夹上传到服务器上。

1
scp -r local_path remote_path [email protected]:remote_path

更改 Nginx配置文件

打开 /etc/nginx/sites-available/default 文件,添加配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
server
{
listen 80;
listen 443 ssl http2;

# SSL配置
ssl_certificate path/fullchain.crt;
ssl_certificate_key path/private.pem;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}

path 是证书的目录。

一定要注意每一行后面有分号,我就是没注意这个分号,导致重启 nginx 的时候一直报错,说 ssl_certificate 是未定义变量。主要是 https://letsencrypt.osfipin.com 这个网站官方配置说明里就没有分号。

443 端口一定要放开。

1
sudo service nginx restart

重启 nginx 就可以用 https 访问了!

文章作者: iced-cola
文章链接: https://iced-cola.com/2020/11/07/使用Let’s-Encrypt给网站加密/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iced-cola