在内部 DNS 服务器上获取用于内部服务器的 Let's Encrypt SSL 证书

在内部 DNS 服务器上获取用于内部服务器的 Let's Encrypt SSL 证书

我目前经营一家组织,我们使用一个托管在我们网络内的内部网站,该网站运行Gitea 服务器这样我们就可以访问重要文档,而无需依赖第三方服务。

我已经使用玛拉DNS路由到正确的 IP 地址。我们还在此服务器上运行其他应用程序(例如内部 REST API),但目前一直依赖自签名证书。我不喜欢某些浏览器和库(例如LibCURL处理这些类型的证书,因为我开始发现修复这些错误非常繁琐和痛苦。

我想使用让我们加密服务;因为 CA 在浏览器中被很好地识别,而且每次更新证书时都不需要付费。

我该如何获得它?

答案1

Let's Encrypt 旨在提供面向公众的服务,不支持全球互联网无法访问的完全内部名称。

获取 LE 证书的首要要求是,您想要获取证书的主机名必须在全球 DNS 中存在,或者能够被创建。

一旦满足了这一点,你有两个选择挑战:HTTP-01 和 DNS-01。

HTTP-01 通过使用 IPv6 或 IPv4 连接到该名称的端口 80 上的 HTTP 服务器来验证您对主机名的控制。显然,该名称必须在全局 DNS 中具有适当的地址记录。

DNS-01 允许您通过在全球 DNS 中设置特定的 TXT 记录来验证主机名。通常,这是使用来自受支持的 DNS 提供商的 API,但如果您的全局 DNS 记录不是由受支持的提供商托管的,也可以手动完成。

您可能可以绕过这些限制并设法获得证书,但这取决于您尚未提供的许多环境细节。您可以考虑一下,也许您会找到一种方法来做到这一点。

相关内容