免费SSL

### 如何在 Linux 服务器上设置免费 SSL 证书 (Let's Encrypt) #### 准备工作 为了成功申请和配置 Let's Encrypt 的免费 SSL 证书,需完成以下准备事项: - **域名注册**:确保已经拥有并注册了要使用的域名,并且其 DNS 记录可以正常解析到目标服务器[^1]。 - **服务器环境**:本教程假设您正在使用基于 CentOS 或其他类 Unix 系统的服务器以及 Nginx Web 服务器作为示例。 --- #### 安装 Certbot 工具 Certbot 是用于管理 Let's Encrypt 证书的主要工具。以下是安装步骤: 对于 Debian/Ubuntu 类系统: ```bash sudo apt update && sudo apt install certbot python3-certbot-nginx ``` 对于 CentOS/RHEL 类系统: ```bash sudo yum install epel-release sudo yum install certbot python3-certbot-nginx ``` 上述命令将安装 Certbot 及其针对 Nginx 的插件,以便简化证书请求过程[^3]。 --- #### 请求 SSL 证书 运行以下命令以通过交互方式获取证书: ```bash sudo certbot --nginx certonly ``` 此命令会引导用户输入必要的信息(如邮箱地址和域名),并通过验证域名所有权来颁发证书。 如果需要手动指定多个域名,则可以通过 `-d` 参数实现: ```bash sudo certbot certonly --nginx -d example.com -d www.example.com ``` 完成后,证书文件通常存储于 `/etc/letsencrypt/live/example.com/` 路径下[^2]。 --- #### 配置 Nginx 支持 HTTPS 编辑您的站点配置文件(一般位于 `/etc/nginx/sites-available/default` 或类似的路径)。修改 `server` 块如下所示: ```nginx server { listen 80; server_name example.com www.example.com; location /.well-known/acme-challenge/ { root /var/www/html; # 替换为您实际的挑战目录位置 } return 301 https://$host$request_uri; } server { listen 443 ssl http2; 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; include snippets/ssl-params.conf; location / { proxy_pass http://localhost:8080; # 如果有反向代理需求 } } ``` 保存更改后重新加载 Nginx 配置: ```bash sudo nginx -t && sudo systemctl reload nginx ``` --- #### 自动续订机制 Let's Encrypt 提供的证书默认有效期为 90 天。建议启用自动续订功能以免中断服务。可通过定时任务安排每日检查与更新操作: ```bash sudo crontab -e ``` 添加以下条目至 cron 文件中: ```cron 0 2 * * * /usr/bin/certbot renew --quiet && systemctl reload nginx ``` 这表示每天凌晨两点尝试续订即将过期的证书,并刷新 Nginx 配置[^4]。 --- #### 查询当前证书状态 随时查看现有证书的有效期限可用 OpenSSL 工具: ```bash openssl x509 -in /etc/letsencrypt/live/example.com/fullchain.pem -noout -dates ``` 输出结果类似于: ``` notBefore=Mar 17 00:00:00 2023 GMT notAfter=Jun 15 23:59:59 2023 GMT ``` --- #### 删除不再需要的证书 当某个域名不再适用时,可以选择清理相关资源: ```bash sudo certbot delete --cert-name example.com ``` 确认删除即可移除对应的密钥材料及其关联记录。 --- ### 总结 以上流程涵盖了从初始条件设定直至维护阶段所需的一切要点。借助 Let's Encrypt 和 Certbot 组合方案,能够高效便捷地保护在线资产免受未加密通信威胁的同时提升用户体验满意度。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值