可以在本地托管的网站上使用 SSL 证书吗?

Jus*_*ang 0 local-area-network fqdn lets-encrypt

我尝试在本地服务器上安装 Let's Encrypt。但我不能,因为它抛出了我需要完全限定域名 (FQDN) 的错误。我server.arch.local用作我的主机名。它不符合 FQDN 的要求吗?现在我开始怀疑是否可以在本地托管的网站上使用 SSL 证书。如果有人可以消除我的疑虑或告诉我在哪里可以找到有关它的详细信息,我将不胜感激。

Kam*_*l J 5

我会把它分成两个单独的问题......

  • 可以在本地托管的网站上使用 SSL 证书吗

是的,SSL 证书可以在本地托管的网站上使用。从技术角度来看,它是否在本地没有区别。

  • FQDN

server.arch.local满足 FQDN 的技术要求,但是一旦有了公共信任的 CA,他们就无法提供指向“.”含义中非“公共”域的证书。DNS系统链。它与主题 (CN) 和 SAN(主题替代名称)相关。此限制不仅与 Let's Encrypt 相关,还涉及一般要求。

如何让它发挥作用

公共区域

您可以购买任何(根据价格随意选择)公共领域,然后您可以获得公开信任的证书

自己的证书

  • 自签名单证书

如果您只有这台服务器,您可以轻松地创建自己的自签名证书,只需用户必须明确设置信任。你可以搜索一些如何去做,或者如果你只想测试一些东西,你可以尝试

openssl req -newkey rsa:2048 -x509 -subj "/CN=server.arch.local" -keyout /tmp/server-key.pem -out /tmp/server-cert.pem -days 3650 -nodes

此“简单”证书没有 SAN 或 x509 扩展名,但由于它是自签名,因此无论如何都会手动明确设置为受信任。它将被服务器接受。

  • 自签名 CA

如果您希望拥有更多服务器,您可以创建自签名 CA,该 CA 将由用户手动设置为信任,然后您可以为您将要执行的每个服务器生成证书。对于此选项,您必须在 x509 扩展级别正确执行此操作,以使其在 CA 链中受信任。它并没有那么复杂,但为此没有“一行”示例;-)。