如何解决打算由 LAN 托管的站点的自签名 SSL 证书问题

How to solve the problem of self signed SSL certificates for sites intended to be LAN hosted

我的软件旨在 运行 Raspberry Pi。

安装我的软件后,用户可以从其 LAN 上的任何设备导航到我的软件 运行ning 在其 Raspberry Pi 上托管的网页。

我希望我的用户不必担心生成 SSL 证书等问题。只需在他们的 Raspberry Pi 上安装我的软件并导航到仪表板。

我可以让我的软件在第一个 运行 时自动生成自签名 SSL 证书,但是用户会在他们的浏览器中收到有关自签名证书的警告,并且该站点显示为不安全。

如果我让我的软件改用 http,那么 chrome 将不会存储站点的 cookie,这样用户登录的持续时间不会超过一次刷新。

我显然无法通过我的应用程序分发 CA 签名证书,因为:

  1. 任何人都可以得到它,所以它不安全
  2. 它无论如何都行不通,因为不同的用户将在不同的 IP 和主机名上拥有他们的 Raspberry Pi

是否有任何解决方案可以在这种情况下使用安全 HTTPS 而不会收到浏览器的警告?

这是否是一个开发问题值得商榷(显然不是编程);我个人会说是的。但是,它肯定 更多 在其他堆栈中已被广泛讨论的主题,例如:
https://serverfault.com/questions/1060268/ssl-for-devices-in-local-network
https://serverfault.com/questions/906015/how-to-setup-ssl-certs-for-a-lan-web-app-server
https://serverfault.com/questions/964119/enable-https-on-a-private-network
https://serverfault.com/questions/573528/ssl-tls-cert-get-alternative-name-to-work-with-lan-ip
https://serverfault.com/questions/447753/ssl-certificate-for-local-web-server
https://serverfault.com/questions/833178/ssl-with-no-warning-for-local-ips
https://serverfault.com/questions/1018020/distributing-ssl-certificates-to-all-browsers-in-an-active-directory-environment
(有些人专注于 Windows,尤其是 AD)
和:
https://security.stackexchange.com/questions/121163/how-do-i-run-proper-https-on-an-internal-network
https://security.stackexchange.com/questions/227020/is-https-required-for-local-network-server-to-server-communication
https://security.stackexchange.com/questions/251308/do-i-need-to-create-ssl-for-https-over-a-local-network
https://security.stackexchange.com/questions/103524/lets-encrypt-for-intranet-websites
https://security.stackexchange.com/questions/124235/deploy-intranet-application-with-ssl-certificate

不过,我确实在这里找到了一些,那是多年前话题性更广的时候:

Are certificates useful for intranet SSL?