zhaowei/20241227 日报.md
2024-12-30 17:46:00 +08:00

2.5 KiB
Raw Permalink Blame History

2024/12/27 日报

做了什么

1.安装 Certbot

Certbot 是 Let's Encrypt 推荐的客户端,用于自动化证书的获取和续期。

在 Ubuntu系统上

bash
sudo apt update
sudo apt install certbot #安装certbot
sudo apt install python3-certbot-nginx  # 安装certbot-Nginx插件

2. 生成 SSL 证书

Certbot 需要在服务器上通过 HTTP 或 DNS 验证域名所有权。

使用 Nginx 进行自动配置

如果你使用的是 Nginx 服务器,可以通过 Certbot 自动配置 SSL 证书。

bash
复制代码
sudo certbot --nginx -d example.com -d www.example.com
  • -d example.com -d www.example.com 是你要为其申请证书的域名。
  • Certbot 会自动配置 Nginx使得你的站点使用 HTTPS 协议。

手动获取证书

如果你没有使用自动配置工具,或者使用其他类型的 Web 服务器,你可以手动获取证书。

bash
复制代码
sudo certbot certonly --manual -d example.com -d www.example.com

Certbot 会引导你通过 DNS 或 HTTP 验证来证明你拥有域名的所有权。

  • 手动获取证书后

3. 验证证书获取成功

证书获取成功后,证书文件通常存储在 /etc/letsencrypt/live/ 目录下。

bash
ls /etc/letsencrypt/live/example.com/

你应该能看到 fullchain.pemprivkey.pem 文件:

  • fullchain.pem 是完整的证书链文件(包括根证书和中间证书)。
  • privkey.pem 是私钥文件。

4. 配置 Web 服务器使用证书

Nginx 配置示例:

编辑你的 Nginx 配置文件:

bash
复制代码
sudo vi /etc/nginx/sites-available/default #具体看你nginx的配置文件路径

修改或添加以下配置来启用 HTTPS

server {
    listen 80;
    server_name example.com www.example.com;
    # HTTP 到 HTTPS 的重定向
    return 301 https://$host$request_uri; #如果要重定向注意是https
}

server {
	listen 80;
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; #获取到证书的位置
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;#获取到私钥的位置
    # SSL 配置(根据需要调整)
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384';

    # 网站的其他配置...
}
  • 处理客户问题
    • 鉴权token拿不到 版本问题

学了什么

  • ssl证书配置