动态域的证书无效

动态域的证书无效

我尝试做的事情:
设置一个动态域来连接托管在我家服务器上的 Nextcloud(自我数据存储)。

已完成的工作:
在 domain.google.com 购买域名
设置动态 DNS
在我的服务器上安装 ddclient
将 ddclient 连接到 Google(动态 DNS 指向我的服务器)
服务器防火墙打开端口 443 和 80
路由器将端口 80 和 443 转发到我的服务器

当我将域名输入我的浏览器(Firefox 和 Brave)时
会出现此警告。\

NET::ERR_CERT_AUTHORITY_INVALID

按下这个错误会出现这样的结果

Subject: $my_servers_name
Issuer: $my_servers_name
Expires on: 10 Jul 2023
Current date: 29 Aug 2022
PEM encoded chain:-----BEGIN CERTIFICATE-----

以及两个不同的证书
这个网站:https://www.ssllabs.com/ssltest/\ 输入我的域名时,它会打印出来Certificate name mismatch,我应该尝试这些其他域名,$my_server_name 因为网站和浏览器都得到了我的服务器名称,所以肯定存在某种联系,但证书不匹配。
我该怎么办?
$my_server_name 不是我的服务器名称,只是一个占位符

答案1

要使这个功能起作用,你需要做两件事:

  1. 您需要一个受浏览器信任的证书。这意味着从商业 CA(例如 Lets Encrypt)获取证书或将您自己的 CA 添加到浏览器的信任锚存储中。前者意味着所有设备都可以访问您的网站。后者意味着证书仅适用于您的设备。也就是说,您必须将证书添加到所有需要访问 Nextcloud 服务的设备。

  2. 您需要更改证书中的 SAN,使其包含主机部分URL 的。例如,superuser.com是此站点的主机名,因此此站点的证书将在其 SAN 中使用该名称。Google 为您提供 DNS 名称,而不是 CA。上面的示例显示颁发者是我的服务器名称这肯定不是谷歌。

相关内容