gpt4 book ai didi

ssl - 本地主机或 127.0.0.1 的第三方签名 SSL 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:16 25 4
gpt4 key购买 nike

在不透露太多信息的情况下,我需要设置一个 Web 服务器系统,供 Internet 上的最终用户使用。

用例是这样的:

  • 当连接到系统时,最终用户(通常)在他们家中的本地防火墙后面。
  • 该系统由我们托管的远程服务器组成,严格通过 https(使用 SSL)
  • 授权机制需要在远程服务器上自行创建用户帐户,创建帐户成功后,需要下载一个软件并将其安装到最终用户的计算机上。该软件除其他外,还包含一个本地网络服务器。
  • 这个“本地”网络服务器还必须只允许 https 连接到用户的浏览器。

由于分布式软件将成为每个用户机器上唯一的 Web 服务器,我不确定如何或什至有可能获得第三方签名的 SSL 证书,当用户使用时不会导致可信度错误通过网络浏览器连接到它。当然,它可以使用自签名 SSL 证书,但其想法是避免浏览器警告,以便最终用户隐含地“信任”来自他们自己的通过 SSL 运行其网络服务器的应用程序的数据。

这可能吗?

最佳答案

本地主机

您永远不会获得本地主机的正确 https 证书。是strictly forbidden .因为reasons .

简而言之:

  • 错误配置的设备实际存在,在野外,在从/etc/hosts
  • 解析本地主机之前等待查找
  • 如果路由器定义了 localhost.foo.local,它可能会导致 localhost 解析不正确(您之前可能已经见过此类错误)

您可以创建一个根证书,然后然后创建一个所谓的“自签名”证书,由您创建的根 ca 签名。您仍然会看到丑陋的警告屏幕,但它会起作用。

2023 年更新:球童

下面的解决方案仍然适用,但是 caddy可以让他们更容易。

它可以创建插入操作系统钥匙串(keychain)的根证书,并且有一个 DuckDNS 插件,因此您可以通过 DNS 验证等在公共(public)或私有(private) IP 上获得公共(public)证书。

localhost.YOURSITE.com(指向 127.0.0.1)

代替实际的 localhost 证书,我按照 Eugene 的建议 - 在公共(public)域上创建 127.0.0.1 记录。

您可以通过 Let's Encrypt 通过 https://greenlock.domains 获得 localhost.YOURSITE.com 的免费 HTTPS 证书.只需选择 DNS 选项而不是 HTTP 文件上传选项

将您的 localhost.MY-SLD.MY-TLD 指向 127.0.0.1

  • 购买 *.localhost.example.com 证书并为每个安装颁发一个 secret xyz.localhost.example.com(并将其包含在公共(public)后缀列表中以防止对 example.com 的攻击)
  • 使用a greenlock-enabled app直接在客户端即时生成此类证书(通过 https://letsencrypt.org )(或将它们传递给客户端)

如果您没有被包含在 PSL 中,请注意:

  • session、localstorage、indexeddb等域共享
  • 改变端口不会改变它们的共享

成为您自己的根证书

更新:使用greenlock之类的东西使用 ACME/Let's Encrypt,这不再特别相关。

这可能是一个非常糟糕的主意,因为我们不希望用户习惯于随意安装 Root CA(我们知道这是怎么回事 turned out for Lenovo ),但对于公司/克隆机器来说,这可能是一个合理的低预算选项。

关于ssl - 本地主机或 127.0.0.1 的第三方签名 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6793174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com