如何使用 Let’s Encrypt 快速免费地在您的网站上设置 SSL

拥有一个支持 SSL 的网站变得越来越重要。 谷歌将 HTTPS 地址排在比 HTTP 地址更高的位置,并且这将继续,直到 HTTP 被委托给历史。

以下是如何在几分钟内免费快速生成 SSL 证书并在您的网站上实施它们。

使用 Let’s Encrypt 的免费且简单的 SSL

借助 Let’s Encrypt,一个流行的免费 SSL 证书颁发机构,在您的网站上设置 SSL 从未如此简单。

成立于 2016 年 4 月,他们的 certbot 脚本和它是一项免费服务的事实使 Let’s Encrypt 成为在线开发世界中的流行名称。

安装 certbot

本文假设您已经有一个 Linux Web 服务器和您希望添加 SSL 的域名。 通过 SSH 连接到您的服务器,并检查是否 证书机器人 已使用以下命令安装:

sudo certbot --version

如果显示版本号,则说明 certbot 已安装,您可以继续下一部分。 否则,您可以使用以下命令安装 certbot:

sudo apt-get -y install certbot

生成 SSL 证书

为确保本文适用于所有服务器,首先使用适当的命令暂时关闭现有的 HTTP 服务器:

sudo service nginx stop
sudo service apache2 stop

请注意,您希望为其生成 SSL 证书的域名必须已经指向您的 Web 服务器的 IP 地址。 假设是这样,使用以下命令生成新的 SSL 证书:

certbot certonly

系统将提示您选择一种方法来验证您的域名。 按 1 启动一个临时服务器实例,下一个提示将询问您的域名。 输入您的域后,certbot 将检查并确保域名解析到您的服务器,这意味着您控制域,然后生成新的 SSL 证书。

配置 Nginx

如果你使用 Nginx 作为你的 HTTP 服务器,首先要确定你网站的配置文件在哪里。 这基本上总是在以下目录之一中:

  • /etc/nginx/sites-enabled
  • /etc/nginx/conf.d

知道站点配置文件的位置后,在文本编辑器(例如 nano)中使用以下命令打开它:

sudo nano /etc/nginx/sites-enabled/default.conf

在文件的最顶部,添加以下行:

server {
listen 80;
rewrite ^ https://$server_name$request_uri? permanent;
}

这将自动将所有非 SSL 请求重定向到您的站点到它们的 SSL 对应项。 在文件的顶部,您将看到站点配置的开头:

server {
listen 80;
server_name domain.com www.domain.com;

修改这个并改变 听 80;听 443 ssl; 然后在下面添加以下行:

ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;

确保将上述行中的 domain.com 替换为您的域名。 Save 和 close 文件按 Ctrl+W 后跟提示符,然后使用以下命令重新启动 Nginx:

sudo service nginx start

访问您的网站,它现在应该在 SSL 中,没有任何关于不安全网站的浏览器警告。

配置 Apache

如果您正在使用 Apache 作为您的 HTTP 服务器,首先找到您网站的配置文件,该文件很可能位于 /etc/apache2/sites-enabled 目录. 如果您不确定位置,请运行以下命令:

apachectl -S

这将显示所有配置的虚拟主机 Apache 与他们各自的位置。 找到配置文件后,使用以下命令在文本编辑器中打开它:

sudo nano /etc/apache2/sites-enabled/default.conf

在此文件的顶部,输入以下行:

<VirtualHost *:80>
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>

在现有的 <虚拟主机 *:80> 指令将端口从 80 更改为 443。在此指令中,添加以下行:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem

确保改变 域名.com 在上面的行中使用您的实际域。 Save 和 close 文件按 Ctrl+X 后面跟着提示,然后重启 Apache 使用命令:

sudo service apache2 start

访问您的网站,它现在应该在 SSL 中,没有任何关于不安全网站的浏览器警告。

续订 SSL 证书

如果您需要为您的网站更新 SSL 证书,可以使用以下命令轻松完成:

certbot renew

网站安全!

恭喜,现在您网站的每个访问者都将被迫使用其 SSL 版本,该版本现在受到新生成的 SSL 证书的保护,该证书由受信任的权威机构签署,这意味着您的访问者不会收到任何安全警告。

在这篇文章中,你学到了什么 证书机器人 是,如何生成新的 SSL 证书,如何配置 Nginx 或 Apache 使用 SSL,以及如何在以后更新您的证书。

图片来源:罗伯特·阿夫古斯丁/存在Shutterstock