本教程将教您如何安装Nginx并管理免费的“让我们加密TLS / SSL”证书。 如果您现在开始并且想要安全地安装服务器,建议您阅读本文

使用Let's Encrypt和Nginx配置服务器以提供HTTPS
Markus SpiskeUnsplash拍摄的照片

好的,让我们从一些定义开始,然后从魔术步骤开始:

  • 让我们加密:是一个证书颁发机构(CA),它提供免费的数字证书以允许网站上的HTTPS。
  • Nginx :是一种Web服务器,也可以用作负载平衡器,反向代理,邮件代理和HTTP缓存。
  • HTTPS :(安全超文本传输​​协议)是HTTP协议在使用SSL / TLS协议的附加安全层上的实现。
  • SSL / TLS协议:传输层安全性(TLS)及其前身安全套接字层(SSL)(现已弃用)是在计算机网络上提供通信安全性的应用程序协议。
  • Certbot:是在服务器上运行的客户端(工具),用于获取和部署SSL证书。

为什么我应该有一个HTTPS网站? 您应该使用HTTPS的主要原因是,确保与服务器的连接是安全的。

好的,您只有一个HTML页面,没有任何动态内容。 因此,其他原因还包括:1)Google开始使用HTTPS作为排名因素,因此,如果您希望自己的网站在Google搜索中占据有利位置,则应考虑使用此功能。 2)Chrome对于非HTTPS的页面开始显示“不安全”警告,因此,如果您不想吓users用户,这就是拥有它的原因。

假设您已经安装并正在运行一个Ubuntu Web服务器,并且有一个指向它的域命名(在本教程中,域名为临时Website.tk),我们将在其中安装Nginx。

安装Nginx和Certbot

连接到您的服务器。 键入以下命令以安装Nginx:

$ sudo apt-get install nginx

安装后,您可以访问您的域并检查是否有可用的内容(没有HTTPS):

使用Let's Encrypt和Nginx配置服务器以提供HTTPS
不安全的网站

我们将使用Certbot信息库来获取软件包的最新版本。 让我们添加它:

$ sudo add-apt-repository ppa:certbot/certbot

更新包装清单以获取最新的物品:

$ sudo apt-get update

安装Certbot的Nginx软件包:

$ sudo apt-get install python-certbot-nginx

生成证书并配置Nginx

最后,让Certbot获得证书并自动将其配置给我们:

$ sudo certbot --nginx -d temporary-website.tk 

对于此步骤,您将需要添加电子邮件(如果证书即将过期,则会从Let's Encrypt接收通知)。 您将有两个选择:是否将请求从HTTP重定向到HTTPS。 我选择了重定向。

如果您之前设置了防火墙,请阅读下面的“允许防火墙”部分,如果没有,仅此而已,您的网站将使用HTTPS。 ????

使用Let's Encrypt和Nginx配置服务器以提供HTTPS
更安全的网站

该网站现在在HTTPS下工作。 现在让我们做更多的改进。

允许防火墙

如果按照本文中的步骤进行操作,现在需要允许HTTPS连接:

$ sudo ufw allow https

更新Diffie-Hellman参数

如果按照前面的步骤进行操作,则可以忽略此部分。 但是,如果您只是一个好奇的读者,并且已经在服务器上实现了这些步骤,那么提示是检查Diffie-Hellman参数的大小。 一些旧的安装具有1024位参数, 一些研究和NIST的建议是将Diffie-Hellman参数的大小增加到2048位。

使用Let's Encrypt和Nginx配置服务器以提供HTTPS
这就是1024位参数的样子
使用Let's Encrypt和Nginx配置服务器以提供HTTPS
这就是2048位参数的样子

要创建更长的2048位参数,请运行以下代码。 我建议您在文件夹etc/letsencrypt/上运行此命令,因为这是存储默认**的位置( ssl-dhparams.pem

$ openssl dhparam -out ssl-dhparams-2048.pem 2048

生成这些参数后,我们需要更改Nginx的配置。 转到文件夹/etc/nginx/sites-enabled/并将文件default编辑为以下内容:

server {
...
ssl_dhparam /etc/letsencrypt/ssl-dhparams-2048.pem;
...
}

现在重新启动Nginx:

$ sudo service nginx restart

更新SSL证书

让我们加密证书每90天过期一次。 因此,您需要经常更新证书。 安装的Certbot软件包随附cron作业,该作业会在证书过期之前自动对其进行续订。

运行以下命令以测试续订过程(参数--dry-run测试而不将任何证书保存到磁盘):

sudo certbot renew --dry-run

如果成功,您可以放松身心并享受生活。 Certbot将确保为您定期更新证书。

如果您想阅读更多我的文章,请 跟我 。???? 如果您喜欢这篇文章,请确保喜欢它给了我很多鼓掌-这对作家来说意味着世界。

FlávioH. de Freitas是一位企业家,工程师,技术爱好者,梦想家和旅行者。 曾在巴西硅谷和欧洲担任首席技术官

From: https://hackernoon.com/configuring-your-server-to-provide-https-using-lets-encrypt-and-nginx-e46a5ae93e41

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-15
  • 2021-11-08
  • 2022-12-23
  • 2022-01-25
  • 2022-02-11
猜你喜欢
  • 2022-12-23
  • 2021-11-15
  • 2021-08-19
  • 2022-12-23
  • 2021-09-16
  • 2021-09-05
  • 2022-01-06
相关资源
相似解决方案