在现代互联网环境中,HTTPS 已经成为保护用户隐私和数据安全的标准。在这篇文章中,我们将介绍如何使用 Certbot 的手动模式为无 SSH 权限的虚拟主机启用 HTTPS。
步骤 1:安装 Certbot
首先,您需要在本地计算机上安装 Certbot。
对于 Debian/Ubuntu 系统,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install certbot
对于其他系统,请参考 Certbot 官方安装指南。
步骤 2:生成证书
使用 Certbot 的手动模式生成证书。运行以下命令:
sudo certbot certonly --manual
运行上述命令后,Certbot 会提示您输入一些信息,包括您的电子邮件地址和域名。输入您的域名(例如 example.com
和 www.example.com
)。
步骤 3:验证域名
Certbot 会要求您通过在您的域名的 Web 根目录下创建一个特殊文件来验证域名的所有权。它会输出类似以下的内容:
Make sure your web server displays the following content at
http://example.com/.well-known/acme-challenge/XXXXXXXXXXXX before continuing:
XXXXXXX...
If you don't have HTTP server configured or HTTP server doesn't support
configuring by default, Certbot will automatically serve this request
using a temporary standalone server.
根据 Certbot 提供的信息,您需要在您的虚拟主机上创建一个特定的文件以验证域名的所有权。例如,Certbot 可能会告诉您创建一个文件 http://example.com/.well-known/acme-challenge/XXXXXXXXXXXX
,并在文件中放置特定的内容 YYYYYYYYYYYYYYYY
。
请按照以下步骤操作:
- 使用 FTP 客户端(例如 FileZilla)连接到您的虚拟主机。
- 导航到您网站的根目录,通常是
public_html
或www
目录。 - 创建
.well-known
目录(如果不存在)。 - 在
.well-known
目录中创建acme-challenge
目录(如果不存在)。 - 在
acme-challenge
目录中创建一个文件,文件名为 Certbot 提供的文件名(例如XXXXXXXXXXXX
),文件内容为 Certbot 提供的内容(例如YYYYYYYYYYYYYYYY
)。
步骤 4:完成验证
文件上传完成后,返回到 Certbot 并按下 Enter 键继续。Certbot 将尝试访问您上传的验证文件以确认域名的所有权。如果一切正常,您将看到类似以下的消息:
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
这表示证书已成功生成。
步骤 5 :配置虚拟主机以使用 HTTPS
根据您的虚拟主机提供商的说明,在控制面板中配置您的网站以使用 HTTPS。您可能需要输入以下信息:
- 证书文件(fullchain.pem 的内容)
- 私钥文件(privkey.pem 的内容)
- 中间证书(如果需要,可以从 Let’s Encrypt 官网下载)
步骤 6:测试 HTTPS
配置完成后,访问您的网站以确保 HTTPS 工作正常。例如,访问 https://example.com
并检查浏览器是否显示安全锁图标。
以上就是使用 Certbot 手动模式为无 SSH 权限的虚拟主机启用 HTTPS 的详细步骤。如果您在某个步骤遇到问题,建议参考您的虚拟主机提供商的文档或联系他们的技术支持。