Contact me: hankecnc@gmail.com

HTTPS 支持 #672

推推 grbl 3年前 (2023-02-03) 336次浏览
打开
13 个任务中的第 4 个
antonok-edm 打开了这个问题 2020 年 12 月 25 日 · 5 条评论
打开
13 个任务中的第 4 个

HTTPS 支持#672

antonok-edm 打开了这个问题 2020 年 12 月 25 日 · 5 条评论

评论

HTTPS 支持 #672

描述

如果 CNCjs 支持 TLS / SSL / HTTPS,那将是很棒的,至少有一个内置的自签名证书,理想情况下也支持自定义证书。我在任何地方都找不到它的任何文档,所以我假设目前不存在支持。

版本

  • CNCjs:1.9.x
  • 节点.js:10.x
  • NPM:5.x

你如何安装CNCjs?

  • NPM
  • 下载 CNCjs 桌面应用程序

数控系统

  • Grbl
  • 冰沙
  • TinyG/g2核心
  • 马林鱼

硬件

  • 树莓派
  • 台式机或笔记本电脑
  • 移动设备

操作系统

  • 不适用
  • 视窗
  • 苹果
  • Linux
HTTPS 支持 #672

这对我来说也有些有趣,所以我对它进行了一些研究。添加起来可能不是很简单。

主服务器入口server-cli.js最终启动 Web 服务器,通过webappengine这里的贡献者之一拥有的自定义包进行侦听。该包绑定到 Node.jshttp模块此处为文档)并且没有引用Node.jshttps模块

我收集在 cncjs 中进行所需的更改以支持需要首先添加 HTTPS 支持的 HTTPS webappengine

看看有什么webappengine作用,我什至可能会推荐使用更广泛支持的服务器包,如 expressjs,尽管仍然需要做一些工作来支持 HTTPS

HTTPS 支持 #672

支持 https 对用户有什么好处?证书必须是自签名的,并且至关重要的是每个客户端都手动信任(这在平板电脑上变得更加棘手)或每次都接受。

添加它的最简单方法是在应用程序前面放置一个 nginx 代理并在 443 上提供服务。

HTTPS 支持 #672
作者

@TobyGWilliams无论如何,这都不是一个详尽的列表,但这里有一些支持的论据:

  • 默认隐私;共享网络上的用户应该能够自在地制作自己的个人物品和礼物,而不用担心在家里、公寓等地方被其他人窥探。
  • TLS 是正确用户管理的必要条件,事实证明这对创客空间中的 Octoprint 安装非常有用。
  • 一些信誉较差的物联网制造商可能会通过汇总通过内部网络上的数据包嗅探收集的数据来补贴他们的产品,或者容易受到这样做的攻击者的攻击。在这些情况下,能闻到的越少越好。
  • 浏览器越来越多地对可从 HTTP 来源使用的 Web API 实施限制。
  • 浏览器在 HTTP 来源的 URL 栏中显示“不安全”警告,这对新用户来说是糟糕的用户体验。
HTTPS 支持 #672
贡献者
女佣 评论了 2022 年 3 月 27 日  

虽然 CNCjs 有可能支持这一点,但它也有点超出了项目的范围。我们经常看到由外部服务、负载均衡器(如Traefik)或平台(如Kubernetes )提供的证书管理。

证书管理受周围网络配置的影响很大。考虑到该项目的大量部署方法(NPM 包、Docker、Electron 应用程序、Raspbian 图像等)和任意数量的网络配置(防火墙、网桥适配器、子网、操作系统变体等)实现自签名证书以外的任何东西会引入许多考虑因素,并且无疑会提出许多问题。浏览器无论如何都不会信任自签名证书(不安装证书或添加运行时标志)。

也就是说,我们当然可以记录一些使用 ACME 或反向代理的示例——这样标记并添加到队列中?

HTTPS 支持 #672

我很好奇隐私用例是否由@antonok-edm真正影响到实践中的任何人。无法从 LAN 窥探环回网络连接,因此如果人们从“ http://127.0.1.1:8000 ”访问 CNCjs ,它已经是私有的。(但用户可能有一个类似于 octoprint 的 CNC 服务器。)我认为 https 是使用串行 API ( https://wicg.github.io/serial/ ) 所必需的,它只能在安全上下文中使用,但我自从了解到http://localhost被认为是安全上下文。

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
项目
状态:无状态
发展

没有分支机构或拉取请求

5人参加
HTTPS 支持 #672HTTPS 支持 #672HTTPS 支持 #672HTTPS 支持 #672HTTPS 支持 #672

喜欢 (0)