【发布时间】:2021-08-03 18:30:59
【问题描述】:
在不透露太多信息的情况下,我需要设置一个 Web 服务器系统,供整个 Internet 上的最终用户使用。
用例是这样的:
- 连接到系统时,最终用户(通常)在家中位于本地防火墙后面。
- 系统由我们托管的远程服务器组成,严格通过 https(使用 SSL)
- 授权机制需要在远程服务器上自行创建用户帐户,成功创建帐户后,需要下载一个软件并将其安装到最终用户的计算机上。除其他外,该软件还包含一个本地网络服务器。
- 这个“本地”网络服务器也必须只允许 https 连接到用户的浏览器。
由于分布式软件将成为每个用户计算机上的唯一 Web 服务器,我不确定如何或是否可能获得不会导致用户信任错误的第三方签名 SSL 证书通过网络浏览器连接到它。当然它可以使用自签名 SSL 证书,但其想法是避免浏览器警告,以便最终用户将隐含地“信任”来自他们自己的应用程序的数据,这些应用程序通过 SSL 运行其网络服务器。
这可能吗?
【问题讨论】:
-
出于兴趣,为什么连接到本地服务器,只监听
127.0.0.1,需要通过SSL?中间的那个人会是谁? -
@Neil Alice 决定 Bob 的网络服务器接收到有价值的信息,因此终止了网络服务器进程并插入她自己的进程来代替它。现在 Alice 得到用户名/密码等。
-
@chacham15 Alice 从哪里获得了杀死 Web 服务器进程的 root 密码?既然她可以安装一个键盘记录器,为什么还要费心杀死网络服务器进程呢?
-
@Neil 如果远程网站尝试访问本地网站,那么如果提供混合内容被阻止,您将被阻止。
-
另外,请注意 localhost 将在所有应用程序之间共享 cookie、localstorage 等 - 即使在不同的端口上也是如此。对于这个用例,您真正想要做的是拥有 localhost.yourthingmabob.com 并将 DNS 缓存时间设置为年而不是分钟、天或小时。
标签: ssl ssl-certificate embeddedwebserver