【问题标题】:Router delivering its own SSL certificates instead of my domain's to LAN hosts路由器将自己的 SSL 证书而不是我的域提供给 LAN 主机
【发布时间】:2021-04-15 12:04:42
【问题描述】:

我在 Docker 容器中的 NAS 上安装了 nextcloud 服务,该服务可通过 FQDN 从 Internet 访问,为此我生成了通配符 Letsencrypt 证书。 反向代理 (Traefik) 正在向服务分派请求并处理 http/https。

在我的 LAN 之外一切正常,但从本地网络连接到 nextcloud 会出现证书错误。 例如,尝试从 Firefox 打开 nextcloud 主页会给出:

nextcloud.yourdomain.com uses an invalid security certificate.
The certificate is not trusted because it is self-signed.
Error code: MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
View Certificate

点击“查看证书”实际上显示的是路由器自己的证书。

作为附加信息,即使在 LAN 内,我的 nextcloud 服务 FQDN 也已正确解析为我的路由器的公共 IP 地址,即

ping nextcloud.yourdomain.com

正确返回我的路由器的公共 IP 地址。

我怎样才能避免这种情况?为什么路由器使用自己的证书来传输到我 LAN 内的主机的 https 流量,而不是我域的 Letsencrypt 证书,就像从 LAN 外部发生的一样?

显然,反向代理或 NAS 不应受到指责,因为 https 请求甚至没有到达它们。

您能帮我解决一些其他问题吗? 谢谢 PI

【问题讨论】:

    标签: ssl https router lets-encrypt nextcloud


    【解决方案1】:

    您使用的外部 IP 地址实际上是您的路由器的 IP 地址。对于来自外部(即互联网)的流量,有一个端口转发规则可以将此流量转发到内部服务器。对于来自内部的流量,不会应用此端口转发 - 这是您的特定路由器的工作方式。由于实际上有一个服务在同一个端口(路由器的管理界面)上运行,并且可以从内部访问,因此将使用它来代替。

    请注意,这就是这个特定路由器的工作方式。不同的路由器可能会将端口转发应用于内部和外部流量。在这种情况下,它也需要支持NAT loopback

    一种解决方法是使用拆分 DNS,即通过公共 IP 地址从外部访问 nextcloud,并通过内部 IP 地址从内部访问 nextcloud。是否可以使用您已经拥有的系统完成这样的设置是未知的。

    【讨论】:

    • 嗨 Steffen,NAT 环回确实是这里的问题,我在进一步研究时得出了同样的结论。我有一个电信公司提供的消费者路由器(Sercomm),我很肯定它不支持 NAT Loopback,所以我不得不按照你的建议使用拆分 DNS 技术。我已经在我的局域网中使用 PiHole:除了谷歌搜索之外,你可能会指出我的任何资源吗?谢谢
    • @Sergio:基于简短的搜索,pi-hole 应该支持类似于本地 DNS 记录的东西,这可能可以用于此服务。 IE。只需将您的公共域解析为您在 pi-hole 上的内部 IP,无论它在 Internet 上解析时是否具有不同的 IP。
    • 完成。我在 Pi-Hole 中定义了本地 DNS 设置,并在连接到 wifi LAN 时将其配置为我的设备的 DNS 服务器。完美运行
    猜你喜欢
    • 2020-03-26
    • 2013-07-20
    • 2011-07-07
    • 1970-01-01
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2016-04-02
    • 2018-01-23
    相关资源
    最近更新 更多