如何在链接到动态 DNS 服务的 Apache 服务器上使用自签名证书?

如何在链接到动态 DNS 服务的 Apache 服务器上使用自签名证书?

我有一个运行 ownCloud 的 Linux Apache Web 服务器。我希望在此服务器上使用动态 DNS 服务(例如 No-IP Free),因为我的公共 IP 地址不是静态的。我还希望在服务器上使用自签名证书(我知道存在风险)。当通过命令行使用 OpenSSL 生成自签名证书时,它会要求我输入服务器的“完全限定域名”。我没有域名。我应该在此字段中输入什么:服务器的静态本地网络 IP(例如192.168.1.5);我的路由器的动态公共 IP(例如192.0.2.1)(我将转发端口);还是我将使用的动态 DNS 域名(例如myserver.ddns.net)?

答案1

通用名称或者中国是域名,您可以在浏览器的 URL 栏中输入。这是您用来指代服务器/网站/服务的名称,浏览器或任何其他客户端将比较这两个值以进行验证。在您的示例中,它将是myserver.ddns.net

如果您希望通过 IP 使用 owncloud-setup(这里不是这种情况),您需要将 IP 作为通用名称。

此外,如果您希望能够通过域访问设置(本地)IP,您可以使用主题备用名称/SubjectAltName (SAN)。如果您想在没有互联网访问的情况下访问它,这将很有用,因为它托管在本地网络中(并且速度更快,因为数据仅在您的网络内传输,否则,它会通过您的调制解调器再返回)。

答案2

我没有域名

是的,这是由动态 DNS 服务归因的。

您可能必须生成一个根证书颁发机构,其 FQDN(或通用名称)可以正是您想要的,然后为您的 Web 服务器生成一个证书,其 FQDN 将是由动态 DNS 提供商提供的。

您要添加到 Apache 的证书必须配置用于访问服务器的 FQDN,即您将无法https://192.168.1.1如果证书 FQDN 是 me.no-ip.com。

要深入了解 SSL 证书管理,我建议这个优秀的操作指南

答案3

CN 必须是您想要保护的确切域,如果您有一个静态 IP 地址,则可以保护该域并用 IP 地址填充。

不幸的是,您没有这个,并且您必须使用动态 DNS 服务来解析您的 IP,即使它发生了变化。

在这种情况下,您必须填写 CSR:myserver.ddns.net因为这是您用来访问应用程序的 URL。

SSL 证书可以与动态 IP 地址一起使用吗?

是的。SSL 证书与服务器和通用名称相关联,而不是与 IP 地址相关联,因此您可以将 SSL 证书与我们的 Dyn 标准 DNS 服务和动态 IP 地址一起使用,不会出现任何问题。

来源

相关内容