使用 letsencrypt 为内网子域颁发有效的 HTTPS 证书

使用 letsencrypt 为内网子域颁发有效的 HTTPS 证书

我正在尝试在家庭内部网上提供安全服务。到目前为止,我已使用自签名证书和虚构的域example.foo,以及用于我的独立系统的子域(例如srv1.example.foo)。这些域在我的本地 DNS 服务器上定义。

现在我已经购买了域名example.com,但没有计划提供任何公共服务。我还有一个带有静态 IP 的 VPS 可以指向example.com

我希望创建一个通配符 letsencrypt 证书,用于*.example.com我的内联网系统。为了将本地系统与任何公共系统分开,我将在本地 DNS 上定义一个子域,该子域不应在公共 DNS 服务器(例如)上解析*.local.example.com。因此,本地内联网系统使用类似 的名称srv1.local.example.com

这个设置可行吗?

我可以在我的 VPS 上创建这样的证书,*.example.com并使用生成的证书保护内联网服务吗?让我的本地 DNS 服务器像解析srv1.local.example.com私有 IP 一样解析域名,而不向公众公开任何私有 IP 或域名?

答案1

我可以在我的 VPS 上为 *.example.com 创建这样的证书,并使用生成的证书保护内联网服务吗?

是的,但这样做很奇怪。它使自动化变得不容易。

我将在实际的需要证书的系统,或者网络内部需要证书的系统可以获取证书的某个服务器。

使用DNS 质询认证验证对域的控制。这需要具有 API 的外部 DNS 提供商,例如 Route53、Cloudflare、Azure 或其他众多提供商。

除了用于验证所有权的 txt 记录之外,您不需要任何公共 DNS 记录。

答案2

您不能为 创建通配符证书*.example.com并将其用于s1.sd.example.com。证书的工作原理如下。如果您想为 创建通配符证书,s1.sd.example.com则必须为*.sd.example.com

相关内容