教程-在Ubuntu 1610上使用ApacheWeb服务器的Certbot Cloudflare DNS

2025-07-08 14:30:02 6
  • 收藏
  • 管理

    大家好,大家好

    如果你遵循Github,你会注意到围绕着基于PythonDNSLicion概念的域名服务提供商的一大堆新的增强器。

    Image.png1006×335 13.4KB

    如果您密切关注GitHub项目,您将看到该项目的状态和进展

    GitHub

    Certbot/certbot

    Certbot是EFF的工具,用于从我们的服务器上加密和(可选)自动启用HTTPS来获取证书。它还可以充当使用ACME协议的任何其他CA的客户端。-证书...

    本指南的目的是介绍这些内容,并解决其中的一些问题和可能的方法。

    一如既往,这是一个指南,而不是福音,所以从它中学习,并自由地做出贡献。

    A)在Ubuntu 16.10上获取Certbot-APACHE

    B)打包--没有适用于Ubuntu的本地包?

    C)使用PIP使用Python进行安装

    D)创建.INI配置

    E)测试插件第1部分--仅通过证书获得的简单证书

    F)测试插件第2部分-复杂示例-安装了Apache Installer的SAN-设置

    G)测试插件第3部分-复杂示例-安装了Apache Installer的SAN安装后测试

    H)工作/改进领域

    Andrei,第1部分:获取用于Ubuntu 16.10的Certbot-APACHE

    我的VPS提供商给了我一个Ubuntu 16.10实例,我将其更新为最新版本的Apache2.4.18

    按照certbot主页的说明进行操作:

    Certbot.eff.org

    Certbot-所有说明

    自动启用HTTPS在您的网站上与EFF的Certbot,部署让我们的加密证书。

    Image.png1357×344 16.8KB

    运行certbot插件以确认哪些插件可供我们使用,显示了Apache插件、独立插件和Webroot插件(如预期的那样)

    Andrei,第2部分:打包--Ubuntu没有本地包吗?

    我重新运行了apt-get更新,以确保没有同步问题,并检查了存储库中可用的插件。

    对其中一个问题的审查似乎表明,这与这些插件的当前状态一致

    Githeb.com/certbot/certbot

    Certbot-dns-CloudFlare打包

    宝马

    协调世界时5月17日下午08:04-11

    3次提交

    更改了3个文件

    增加了59个

    和9个缺失。

    Andrei,第3部分:使用PIP使用Python进行安装

    首先要弄清楚的是安装了哪些Python解释器,因为这将在稍后进行相关讨论

    在Ubuntu上,下面的命令实现了所需的功能,但在其他Linux系统上可能会有所不同

    运行哪个certbot使我能够计算出正在使用的是哪个python解释器

    回顾一下可用的pythonpip安装程序,我还发现我应该使用pip3命令

    Image.png1130×92 4.06 KB

    运行PIP3 Install certbot-dns-CloudFlare会将包安装到python环境中

    Image.png1291×548 14.7 KB

    然后,我可以通过命令certbot plugins确认该插件可用

    Image.png1298×425 14.3KB

    为了验证功能,我们还需要使用相同的方法安装Google-Dns安装程序

    PIP3安装certbot-dns-google

    Image.png1317×613 17.3 KB

    确认:

    Image.png1306×498 16.5KB

    Andrei,第4部分-创建.INI配置文件

    查看文档后会发现,我们需要为验证器提供一个INI文件。用户指南-Certbot 2.7.0.dev0文档

    我在/etc/letscrypt下创建了.INI文件,因为这在当时是最有意义的。

    这里有一些关于如何处理这些文件和所需语法的说明

    Github.com

    Certbot/certbot/blob/master/certbot-dns-cloudflare/certbot_dns_cloudflare/__init__.py

    “”“

    `~certbot_dns_Cloudflare.dns_Cloudflare`插件自动执行以下操作

    通过创建完成``DNS-01``质询(`~acme.challenges.DNS01`),以及

    随后,使用Cloudflare API删除TXT记录。

    。。注::

    默认情况下不安装该插件。可以通过转到以下地址进行安装

    `certbot.eff.org`_,选择您的系统和

    选择通配符选项卡。

    命名参数

    =。

    ``--dns-CloudFlare-Credentials``Cloudflare Credentials_INI文件。

    (所需)

    ``--dns-cloudflare传播秒数``等待dns的秒数

    在询问ACME之前进行传播

    用于验证DNS记录的服务器。

    (默认:10)

    此文件已被截断。显示原创

    图像.png749×95 2.94 KB

    图像.png836×114 3.47 KB

    本质上,INI文件需要两个参数(CloudFlare电子邮件和需要从CloudFlare获取的API密钥)。示例内容(来自init.py文档)

    Dns_CloudFlare_Email=CloudFlare@Example.com

    Dns_CloudFlare_API_Key=0123456789abcDef0123456789abcDef01234567

    Andrei,第5部分-测试插件-仅通过certonly获得的简单证书

    在不安装证书的情况下获取证书是一个非常简单的过程。如果您的参数不正确,此插件可以很好地提供友好的反馈。

    命令:

    Certbot certonly--dns-CloudFlare--dns-CloudFlare-Credentials/etc/letsENCRYPT/cloudflare.ini-d implecoudflare.firecube.xyz

    运行结果:

    Image.png1366×360 13.5KB

    错误消息说明:

    来自插件中的init.py文件

    如果Certbot检测到凭据文件可以

    由您系统上的其他用户访问。警告内容为“不安全的权限”

    在凭据配置文件上“,后跟凭据的路径

    文件。Certbot每次使用凭据文件时都会发出此警告,

    包括续签,除非解决这个问题,否则不能沉默

    (例如,通过使用类似chmod 600的命令来限制对文件的访问)。

    因为我在创建.INI文件时没有遵循这一点,所以消息仍然存在。

    Andrei,第6部分-复杂示例-安装了Apache Installer的SAN-设置

    为了执行这个复杂的示例:certbot-dns-CloudFlare作为身份验证器,而Apache作为安装程序,我们首先需要做一些准备工作。

    确认先前创建的证书的路径

    我们将使用此证书进行绑定,而不是使用自签名证书,因为它更快

    图像.png754×579 17 KB

    创建VHOST文件(一个用于HTTP,一个用于HTTPS):

    Image.png1366×14.1KB

    创建DNS记录:

    Image.png1072×394 26.9 KB

    在运行命令之前确认网站是否正常运行:

    HTTP未重定向到HTTPS

    图像.png1366×541 285 KB

    正在使用的HTTPS证书不正确

    Image.png1365×586 58.6 KB

    Andrei,第7部分-复杂示例-安装了Apache Installer的SAN安装后测试

    用于安装和获取新证书的命令

    Certbot--验证器dns-CloudFlare--安装程序apache--dns-CloudFlare-credentials/etc/letsENCRYPT/cloudflare.ini-d Complex Cloudflare.firecube.xyz-d hardCloudflare.firecube.xyz

    我选择在安装对话框中添加重定向

    图像.png1343×693 24.4KB

    安装后VHOST配置文件(概述了更改):

    Image.png1092×355 8.14 KB

    Image.png1366×541 14.6KB

    网站确认:

    Image.png831×169 13.2KB

    图像.png813×285 92 KB

    安德烈,工作/改进的领域

    INI文件的存储位置-

    @bmw@Schoen-为了安全起见,您对INI文件的存储位置有什么建议吗?在init.py文件中有一个建议。~/.secrets/certbot/cloudflare.ini这是通用的Linux还是特定的发行版。

    Cmod命令用于删除错误消息(Chmod 600)

    先使用暂存-

    我通常建议您使用--分段标志,以确保在测试时不会违反任何速率限制

    密切关注包装公告和供应情况-

    虽然本文中的方法适用于安装官方操作系统包(如果可用),但仍应使用

    创建用于测试的试运行和测试VHOST配置-

    在测试过程中,最好使用非生产VHOST配置,但这确实需要额外的DNS记录

    Andrei,真的没有标准的地方来放置这样的INI文件。这只是一个建议。

    对于那些对此过程的安全性感兴趣的人,请查看介绍此文档的公关上的相关讨论。

    上一页:教程-带加密的Java密钥存储(JKS) 下一页:教程-使用SSL TLS测试邮件协议
    全部评论(0)