如何实现

如何实现

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

答案1

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

  • 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,用户手动将其设置为信任,然后您可以为每台服务器生成证书。对于此选项,您必须在 x509 扩展级别上正确执行此操作,以使其在 CA 链中受信任。它并不复杂,但没有“一行”示例 ;-)。

答案2

SSL 证书可以在本地托管的网站中使用(我猜这意味着托管在您自己的机器上),与在其他地方托管的网站实际上没有区别。

但是,您无法为不属于您的域名获取 Let's Encrypt 证书。由于不属于您,server.arch.local因此您可能希望使用自签名证书使用您自己的本地 CA。

相关内容