如何在Ubuntu 16.04上使用Let’s Encrypt保护Apache2

本文主要讲如何在运行Apache作为Web服务器的Ubuntu 16.04服务器上设置Let’s Encrypt的TLS / SSL证书。Web服务器中使用SSL证书来加密服务器和客户端之间的流量,为访问应用程序的用户提供额外的安全性。 让我们的加密提供了一种免费获取和安装可信证书的简便方法。 准备 为了完成本教程,你需要准备: Ubuntu 16.04服务器,非root用户 Apache Web服务器,一个或多个域名通过虚拟主机配置并指定ServerName当你准备好了之后,登录服务器。 第一步 – 安装Let’s Encrypt客户端 通过服务器上运行的客户端软件获取加密证书。官方客户端称为Certbot,其开发人员使用最新版本维护自己的Ubuntu软件存储库。使用此存储库来安装比Ubuntu提供的更新的版本是值得的。首先添加存储库: $ sudo add-apt-repository ppa:certbot/certbot 你需要按ENTER键。然后,更新列表获取最新存储库的包信息: $ sudo apt-get update 最后,使用apt-get命令安装Certbot $ sudo apt-get install python-certbot-apache 现在certbot Let’s Encrypt client可以使用了。 第二步 – 设置SSL证书 使用Certbot为Apache生成SSL证书非常简单。客户端将自动获取并安装新的SSL证书,该证书对作为参数提供的域有效。要执行交互式安装并获取仅涵盖单个域的证书,运行如下命令,其中example.com是您的域: $ sudo certbot --apache -d example.com 如果要安装对多个域名或子域名有效的单个证书,可以将它们作为附加参数传递给该命令。 参数列表中的第一个域名将是Let’s Encrypt用于创建证书的基本域名,因此我们建议您将裸顶级域名作为列表中的第一个,然后是任何其他子域名或别名: $ sudo certbot --apache -d example.com -d www.example.com 在这个例子中,基本域名是example.com。如果您有多个虚拟主机,则应为每个虚拟主机运行一次certbot,以便为每个主机生成新证书。您可以以任何方式跨虚拟主机分发多个域名和子域名。安装依赖项后,将向您提供自定义证书选项的分步指南。系统会要求您提供丢失密钥恢复和通知的电子邮件地址,并且您可以选择启用http和https访问,还是强制所有请求重定向到https。除非您特别需要未加密的http流量,否则通常最安全的是https。安装完成后,您应该能够在/ etc / letsencrypt / live中找到生成的证书文件。 您可以使用以下链接验证SSL证书的状态(不要忘记将example.com替换为您的基本域): https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest 你现在可以使用https前缀访问你的网站了。 第三步 – 验证Certbot自动更新 我们的加密证书只能持续90天。但是,我们安装的certbot软件包通过systemd计时器每天运行两次certbot更新来为我们解决这个问题。在非系统发行版上,此功能由位于/etc/cron....

September 10, 2019 · 1 min

如何在Ubuntu 16.04上使用Let’s Encrypt保护Apache2

这篇文章讲解如何在 Ubuntu 上配置 Apache2 虚拟主机。 准备 安装Apache,具体安装过程可以参考这篇文章https://blog.foof.dev/posts/lamp-0 第一步 – 创建目录 第一步是创建一个目录结构,该结构将保存为访问者提供的站点数据。 sudo mkdir -p /var/www/example.com/publish_html sudo mkdir -p /var/www/test.com/publish_html 这里我们设置的域名是example.com和test.com 第二步 – 设置权限 现在我们有了文件的目录结构,但它们归root用户所有。 如果我们希望我们的常规用户能够修改我们的Web目录中的文件,我们可以通过这样做来更改所有权: sudo chown -R $USER:$USER /var/www/example.com/public_html sudo chown -R $USER:$USER /var/www/test.com/public_html 当您按“ENTER”时,$ USER变量将获取您当前登录的用户的值。 通过这样做,我们的常规用户现在拥有public_html子目录,我们将存储我们的内容。我们还应该稍微修改我们的权限,以确保允许对一般Web目录及其包含的所有文件和文件夹进行读取访问,以便可以正确地提供页面: sudo chmod -R 755 /var/www 第三步 – 给每个虚拟主机创建演示页面 为example.com创建页面 vim /var/www/example.com/publish_html/index.html 输入以下内容: Success! The example.com virtual host is working! 保存并关闭文件。复制这个文件到text.com目录下: cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html 打开并修改文件: vim /var/www/test.com/public_html/index.html 修改为下面的内容: Success! The test.com virtual host is working!...

August 24, 2019 · 1 min