杜郎俊赏 - dujun.io

开源实例之免费单域名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;
}

后记

体验更多开源实例

标签: 开源实例
日期:2023-02-22