使用Let’s Encrypt为网站免费开启HTTPS加密完整教程

使用Let's Encrypt为网站免费开启HTTPS加密完整教程

HTTPS已成为当今网站的标配,不仅提升数据传输过程中的安全性,还对SEO排名产生积极影响。搜索引擎(如Google和百度)明确表示,更倾向于为采用HTTPS的网站提供更高的排名。此外,HTTPS还能提高网站访问者的信任度和页面加载速度,从而进一步改善用户体验,这些都是搜索引擎在评估页面质量时的重要考量因素。本文将带你快速入门,通过Let’s Encrypt免费申请SSL证书,开启网站HTTPS加密。

一、什么是Let’s Encrypt?

Let’s Encrypt是一家提供免费SSL证书的非盈利组织,证书被主流浏览器信任,易于安装和自动续期,广泛用于个人和商业网站。

二、安装Certbot工具

Certbot是申请和管理Let’s Encrypt证书的推荐工具,其核心功能包括证书的申请、自动续期和验证域名所有权。Certbot使用ACME协议与Let’s Encrypt服务器通信,通过自动验证域名的控制权来颁发证书。证书颁发后,Certbot还会设置自动续期任务,以确保证书在过期前自动更新,避免人为疏忽造成网站访问问题。

  • Ubuntu/Debian系统:
sudo apt update
sudo apt install certbot python3-certbot-nginx
  • CentOS/RHEL系统:
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx

- CentOS/RHEL系统:

```shell
sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx

三、获取并安装证书

Certbot支持多种域名验证方式,其中最常见的包括HTTP验证和DNS验证:

  • HTTP验证:Certbot会在网站根目录下创建临时文件,通过外部访问该文件来验证域名的所有权。这种方法简单快速,适合普通网站。
  • DNS验证:适用于无法使用HTTP验证的场景,例如通配符证书或无法直接访问的网站。通过修改域名的DNS记录,Certbot会验证你对域名的控制权。

运行以下命令,Certbot将自动配置Nginx,默认采用HTTP验证方式,启用HTTPS:

sudo certbot --nginx -d example.com -d www.example.com

按照提示输入邮箱、接受条款,Certbot会自动完成域名验证和配置。

四、证书自动续期设置

Let’s Encrypt证书有效期为90天,Certbot默认会配置定时任务自动续期。手动测试自动续期是否正常:

sudo certbot renew --dry-run

五、检查HTTPS配置

安装完成后,可通过浏览器访问网站,确保地址栏中出现安全标识(绿色锁图标)。

六、常见问题及排查

  • 域名验证失败:确认域名解析正常、服务器防火墙未阻挡80/443端口。
  • 证书未生效:确保Nginx配置正确且服务已重载或重启。

七、优化与安全建议

  • 启用HTTP Strict Transport Security (HSTS)增强安全性,可通过在Nginx配置中添加以下指令实现:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

此设置强制浏览器未来一段时间内仅使用HTTPS访问网站,有效防止中间人攻击。

  • 定期检查证书续期状态,避免过期。建议使用 sudo certbot renew --dry-run 测试自动续期是否配置成功,并结合系统的cron任务或systemd timer机制实现真正的自动化。

通过本文步骤,快速、安全且免费地为你的网站开启HTTPS,增强网站可信度与安全性。

实操指南知识库

Nginx安装、配置入门与常用指令大全

2025-4-17 12:03:37

知识库

服务器端口是什么?80、443、22 到底有什么区别?

2025-4-17 13:43:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧