如何使用Ubuntu 16.04上的Let's Encrypt保护Apache

介绍

本教程将向您展示如何在运行Apache作为Web服务器的Ubuntu 16.04服务器上设置Let's Encrypt的TLS / SSL证书。

Web服务器中使用SSL证书来加密服务器和客户端之间的流量,为访问应用程序的用户提供额外的安全性。让我们的加密提供了一种免费获取和安装可信证书的简便方法。

先决条件

要完成本指南,您需要:

当您准备好继续前进时,请使用启用了sudo的帐户登录您的服务器。

第1步 - 安装 Let's Encrypt的客户端

让我们通过服务器上运行的客户端软件获取加密证书。官方客户端称为Certbot,其开发人员使用最新版本维护自己的Ubuntu软件存储库。因为Certbot处于这样的主动开发中,所以默认使用此存储库来安装比Ubuntu提供的更新的版本是值得的。

首先,添加存储库:

sudo add-apt-repository ppa:certbot/certbot

你需要按下ENTER接受。然后,更新包列表以获取新存储库的包信息:

sudo apt-get update

最后,使用apt-get从新存储库安装Certbot :

sudo apt-get install python-certbot-apache

certbotLet's Encrypt客户端就可以使用了。

第2步 - 设置SSL证书

使用Certbot为Apache生成SSL证书非常简单。客户端将自动获取并安装新的SSL证书,该证书对作为参数提供的域有效。

要执行交互式安装并获取仅涵盖单个域的证书,请运行如下certbot命令,其中example.com是您的域:

sudo certbot --apache -d example.com

如果要安装对多个域或子域有效的单个证书,可以将它们作为附加参数传递给该命令。参数列表中的第一个域名将是Let's Encrypt用于创建证书的基本域,因此我们建议您将裸顶级域名作为列表中的第一个,然后是任何其他子域名或别名:

sudo certbot --apache -d example.com -d www.example.com

对于此示例,基本域将是example.com

如果您有多个虚拟主机,则应为每个虚拟主机运行certbot一次,为每个虚拟主机生成新证书。您可以以任何方式跨虚拟主机分发多个域和子域。

安装依赖项后,将向您提供自定义证书选项的分步指南。系统会要求您提供丢失密钥恢复和通知的电子邮件地址,您可以选择启用httphttps访问,还是强制所有重定向请求https。除非您特别需要未加密的http流量,否则通常来说请求https最安全。

安装完成后,您应该能够在/etc/letsencrypt/live中找到生成的证书文件。您可以使用以下链接验证SSL证书的状态(不要忘记将example.com替换为您的基本域):

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

您现在应该可以使用https前缀访问您的网站。

第3步 - 验证Certbot自动续订

Let’s Encrypt的证书只能持续90天。但是,我们安装的certbot软件包通过运行certbot renew并且使用systemd计时器每天运行两次来为我们解决这个问题。在非系统发行版上,此功能由放置在/etc/cron.d其中的cron脚本提供。该任务每天运行两次,并将续订任何在到期后30天内的证书。

要测试更新过程,您可以执行用certbot来以下操作:

sudo certbot renew --dry-run

如果您没有看到任何错误,那么您已经完成了设置。必要时,Certbot将续订您的证书并重新加载Apache以获取更改。如果自动续订过程失败,我们的加密将向您指定的电子邮件发送一条消息,并在您的证书即将过期时发出警告。

结论

在本指南中,我们了解了如何从Let's Encrypt安装免费的SSL证书,以保护使用Apache托管的网站。我们建议您不时查看官方Let's Encrypt博客以获取重要更新,并阅读Certbot文档以获取有关Certbot客户端的更多详细信息。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Secure Apache with Let's Encrypt on Ubuntu 16.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏康怀帅的专栏

nginx 配置 TLSv1.3

将 即将 发布的 TLSv1.3 作为 https 系列的开篇。

6006
来自专栏友弟技术工作室

ssh服务

1695
来自专栏酷玩时刻

开启全站HTTPS时代-Nginx SSL+tomcat集群

可以看看简书上的这篇文章写得比较详细《Let's Encrypt SSL证书配置》

1823
来自专栏优信速度

本次更新包括集成CDSW1.3

目前互联网大量web的应用层协议从http迁移到了https,https已经在越来越多的场合替换http协议。近期由于业务需要,我们通过Wireshark对ht...

1770
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Let's Encrypt来保护Nginx

Let's Encrypt是一个新的证书颁发机构(CA),它提供了一种获取和安装免费TLS / SSL证书的简便方法,从而在Web服务器上启用加密的HTTPS。...

1100
来自专栏魏艾斯博客www.vpsss.net

Xshell 用 SSH 密钥登录服务器的配置过程

2.8K4
来自专栏FreeBuf

Apache shiro 1.2.4版本远程命令执行漏洞详解

*本文原创作者:zhujunboabc,本文属FreeBuf原创奖励计划,未经许可禁止转载 搜了一下,发现网上关于apache shiro 1.2.4版本的漏洞...

3625
来自专栏云计算教程系列

如何在Ubuntu 16.04中为Nginx创建自签名SSL证书

TLS或称传输层安全性,及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。

5300
来自专栏小白安全

小白博客 kali Linux系统下Joomscan工具的使用方法

Joomscan 由于其灵活性,Joomla可能是使用最广泛的CMS。对于这个CMS,它是一个Joomla扫描仪。 它将帮助网络开发人员和网站管理员帮助确...

3966
来自专栏友弟技术工作室

openSSH服务及其应用

1605

扫码关注云+社区

领取腾讯云代金券