拥有一个支持 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