# 2024/12/26 日报 ### 做了什么 ## 1.安装 Certbot Certbot 是 Let's Encrypt 推荐的客户端,用于自动化证书的获取和续期。 #### 在 Ubuntu系统上: ```shell 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 证书。 ```shell bash 复制代码 sudo certbot --nginx -d example.com -d www.example.com ``` - - `-d example.com -d www.example.com` 是你要为其申请证书的域名。 - Certbot 会自动配置 Nginx,使得你的站点使用 HTTPS 协议。 #### 手动获取证书 如果你没有使用自动配置工具,或者使用其他类型的 Web 服务器,你可以手动获取证书。 ```shell bash 复制代码 sudo certbot certonly --manual -d example.com -d www.example.com ``` Certbot 会引导你通过 DNS 或 HTTP 验证来证明你拥有域名的所有权。 - 手动获取证书后 ### 3. 验证证书获取成功 证书获取成功后,证书文件通常存储在 `/etc/letsencrypt/live/` 目录下。 ```shell bash ls /etc/letsencrypt/live/example.com/ ``` 你应该能看到 `fullchain.pem` 和 `privkey.pem` 文件: - `fullchain.pem` 是完整的证书链文件(包括根证书和中间证书)。 - `privkey.pem` 是私钥文件。 ### 4. 配置 Web 服务器使用证书 #### Nginx 配置示例: 编辑你的 Nginx 配置文件: ```shell bash 复制代码 sudo vi /etc/nginx/sites-available/default #具体看你nginx的配置文件路径 ``` 修改或添加以下配置来启用 HTTPS: ```shell 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证书配置