动手做系列:使用Apache2服务器,通过Let's Encrypt申请网站免费https证书:修订间差异
跳转到导航
跳转到搜索
| 第47行: | 第47行: | ||
=== 第十步 输入 sudo certbot certificates 查看证书有效日期。 === | === 第十步 输入 sudo certbot certificates 查看证书有效日期。 === | ||
=== | === 第十一步 打开网址,发现https页面打开成功 === | ||
2025年12月30日 (二) 08:53的最新版本
目前大家常用的浏览器都已经默认使用https打开网页了,根本原因就是http已经越来越不安全, 所以在部署网站时还是尽量使用https来搭建自己的服务器,而https使用的证书,如果通过阿里或其它云商少则几百,多则上千。Let's Encrypt 是一个 免费的、自动化的、开放的证书颁发机构,旨在让所有网站都能轻松实现 HTTPS 加密,保障用户数据的安全。它由非盈利组织互联网安全研究小组 (ISRG) 提供,简化了网站开启 HTTPS 的流程。使用 Let's Encrypt,网站管理员可以免费申请 SSL/TLS 证书,从而提升网站的安全性。
本文介绍如何在Ubuntu22 Apache2服务器下配置Let's Encrypt证书,使网站支持https。
本文默认用户已经具有部署支持了http协议的服务器。
第一步 安裝 certbot 套件
pt update
apt -y install certbot
apt -y install python3-certbot-apache
第二步 检查 apache 2外挂使否安裝成功
第三步 通过certbot 申请证书

第三步 通过 certbot 申请证书
certbot certonly --apache -w /var/www/html/ -d YOUR_DOMAIN --email YOUR_MAIL
替换上文中的YOUR_DOMAIN 为你的域名和YOUR_MAIL为你的邮箱地址。如果网站所在的本地文件夹路径不在/var/www/html,也要修改 -w 后面的参数。
第四步 进入 /etc/apache2/sites-available/ 文件夹。
cd /etc/apache2/sites-available/
第五步 修改default-ssl.conf,修改 SSL 配置文件。
SSLCertificateFile /etc/letsencrypt/live/YOUR_DOMAIN/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/YOUR_DOMAIN/chain.pem
替换上文中的YOUR_DOMAIN为你的域名。
第六步 建立 SSL 配置文件软链接
ln -s ../sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
第七步 启用 SSL
a2enmod ssl
第八步 输入 vi 000-default.conf,设置重定向到 HTTPS
<RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
第九步 保存并重启Apache2服务器
a2enmod rewrite && service apache2 restart