我有一个运行 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 地址一起使用,不会出现任何问题。