我正在尝试在家庭内部网上提供安全服务。到目前为止,我已使用自签名证书和虚构的域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