让我们在Ubuntu 18.04上加密SSL证书来保护Nginx
什么是SSL证书?
随着时间的流逝,随着黑客继续昼夜不停地窃取用户数据以达到恶意目的,与互联网相关的安全违规事件越来越多。
SSL证书是一种数字证书,安装在服务器上,主要用于加密在用户浏览器和服务器之间发送的数据,以便只有目标收件人才能访问它。
这是至关重要的,因为如果不进行加密,则信息将以纯文本数据的形式发送,并且很容易被黑客拦截。
因此,大多数电子商务商店和在线付款平台(如PayPal)都会对其进行加密。
SSL证书还允许进行身份验证,并确保将信息发送到正确的服务器,而不是黑客。
Google喜欢安全
SSL证书有助于使您的在Google中排名更高。
根据Google的公告,SSL加密的的排名将高于没有SSL加密的和被认为不安全的。
受保护的由URL列上的挂锁和URL加上https而不是HTTP来表示。
如果您的缺少安全的HTTPS扩展名,则Google会将网址指示为"不安全",这会对您的排名产生负面影响。
让我们在Ubunutu上加密SSL认证的Nginx
在本文中,我们将探讨如何在Ubuntu 18.04上使用"Let’s Encrypt SSL"来保护Nginx。
Let's Encrypt是由Let's加密机构提供的免费且自动的SSL。
到2016年,Let’s Encrypt已保护了1.5亿个。
让我们开始吧,看看如何在Ubuntu 18.04上使用"加密SSL"来保护Nginx的安全。
前提条件
首先,请确保您具有以下条件:
- 具有SSH访问权限的Ubuntu服务器18.04的服务器实例
- 具有sudo特权的非root用户使用
- 具有A记录的完全限定域名(FQDN)指向服务器的IP地址
In this example , we are going to use the domain name crazytechgeek.info which is pointed to a VPS with IP address 18.191.46.130.
步骤1.安装Nginx
首先是要安装Nginx Web服务器。
但是首先,通过以非root用户身份登录并执行以下命令来更新系统。
$sudo apt update
接下来,使用以下命令安装Nginx。
$sudo apt install nginx
安装完成后,通过执行以下命令来验证Nginx是否正在运行。
$sudo systemctl status nginx
现在我们已经安装了网络服务器,让我们继续下一步。
步骤2.安装Certbot
现在让我们在服务器上安装Certbot。
在此示例中,我们将使用包含所有更新文件的Ubuntu软件存储库。
要添加Certbot存储库,请运行以下命令。
$sudo add-apt-repository ppa:certbot/certbot
输出:
安装Certbot
要使系统存储库知道所做的更改,请更新系统。
$sudo apt update
步骤3.安装Certbot Nginx软件包
然后,我们将安装Certbot Nginx软件包。
为此,请运行以下命令:
$sudo apt-get install python-certbot-nginx
输出
步骤4.更新防火墙以允许HTTPS流量
我们需要允许HTTPS流量通过防火墙,以使SSL使用端口443正常工作。
首先让我们检查防火墙的状态。
$sudo ufw status
在启用防火墙之前,首先让我们启用" Nginx Full",它将同时处理HTTP和HTTPS。
$sudo ufw allow 'Nginx Full'
现在让我们启用ufw防火墙。
出现提示时,按" y"。
$sudo ufw enable
输出
让我们验证规则是否已添加到防火墙。
$sudo ufw status
步骤5.生成SSL证书
最后一部分是Let's Encrypt SSL证书的生成。
为此,请使用以下语法。
$sudo certbot --nginx -d example.com -d www.example.com
这将生成对example.com和www.example.com有效的SSL证书。
就我们而言,我们将拥有;
$sudo certbot --nginx -d crazytechgeek.info -d www.crazytechgeek.info
如果是第一次运行Certbot,将首先提示您输入一个电子邮件地址。
然后,将与Let's Encrypt服务器启动通信,并尝试验证您是否控制了要申请证书的域。
下一个。
按A同意服务条款。
接下来,将询问您是否要与EFF共享您的电子邮件地址。
其中您可以决定选择加入还是退出。
下一步就是一切。
这就是要求您将HTTP重定向到HTTPS请求的地方。
选择第二个选项。
如果一切顺利,您将收到一条消息,确认一切顺利。
精彩!您已经成功安装了"让我们在Nginx Web服务器上加密SSL"。
要验证这一点,请在浏览器中转到您服务器的地址并刷新。
请注意,URL开头已从HTTP更改为HTTPS。
要查看有关SSL证书的更多信息,请单击挂锁符号,然后选择"证书"选项。
续订我们加密SSL证书
加密证书的有效期为90天。
这意味着续订是在3个月后。
让我们自动加密进行续订。
要测试续订过程,请如图所示使用Certbot进行空运行。
sudo certbot renew --dry-run
如果没有错误,那么一切都会按计划进行,并且将根据需要进行自动更新。
有关CA到期的所有消息将发送到配置期间指定的电子邮件地址。