开源实例之免费单域名SSL证书
前言
本篇介绍部署免费单域名SSL证书,开启 HTTPS 的方法。
背景知识
HTTPS
HTTPS(Hypertext Transfer Protocol Secure)协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
单域名SSL证书
单域名SSL证书用于为一个域名启用SSL加密,可以是顶级域名,也可以是二级域名。例如 example.com 和 a.example.com 需要两个独立的单域名证书。
特殊情况是 www 和不带 www(例如 example.com 和 www.example.com)可以共用一个单域名证书。
创建和部署
安装软件
使用Let's Encrypt软件免费创建、续订单域名SSL证书。以 Debian 系统为例,安装方法:
sudo apt install letsencrypt
创建证书
以创建域名 dujun.eu.org 的证书为例:
sudo letsencrypt certonly --standalone -d dujun.eu.org
按照提示填写邮箱(首次)即可。生成的证书文件在 /etc/letsencrypt/
。
注意事项:
- 必须将域名 DNS 指向当前服务器
- 必须关闭其他占用 80 端口的进程(如 Nginx)
续订证书
Let's Encrypt 的证书有效期是 90 天,更新命令是:
sudo letsencrypt renew
建议加入 crontab 定期执行。
注意事项与创建证书相同。
部署证书
以 Nginx 为例,vhost 配置如下:
server {
listen 443 ssl http2;
server_name dujun.eu.org www.dujun.eu.org;
...
ssl_certificate /etc/letsencrypt/live/dujun.eu.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dujun.eu.org/privkey.pem;
}
后记
标签: 开源实例