打算架设一个局域网 https 调试服务,征求建议

21 小时 56 分钟前
 Leon6868

动机

最近在开发 WebRTC 服务,但是浏览器只允许本机 ip 和 https 域名开启 WebRTC 服务,因此难以在局域网内进行真机调试。

如果有个本地 https 调试服务就好了,但是自己生成证书安装很麻烦,而且不适用于移动端。

所以就想,如果搭建一个能解析到任意本地地址的 https 域名服务,也许能帮助到与我有同样困境的人(也许有吧!)

实现

域名方面,打算注册一个域名(如 localhttps.top 或者 httpsdns.top ),有无更好的域名建议?

局域网 IP 段主要有以下网段:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

楼主认为可行的操作形式是:

  1. 用户首先通过 cli 或者网页登记,然后得到 usr 识别码和 *.usr.localhttps.top 的泛域名证书(识别码是为了预防潜在的滥用行为)。
  2. 用户访问 xxx-xxx-xxx-xxx.usr.localhttps.top,DNS 服务器将自动解析到对应的局域网 IP ,如 xxx.xxx.xxx.xxx

将所有局域网 IP 段填充到 DNS 解析中并不现实,因此想到了两种解决方案:

  1. 通过 namesilo 的 DNS API 实时登记请求解析的 IP 。
  2. 搭建自己的 NameServer (如 ns1.localhttps.top),实现自动解析和权鉴。

手动管理证书是及其不健康的,楼主的主要工作语言是 Python 和 NodeJS ,计划开发能自动下载证书、提供证书、维护证书的包。

疑问

  1. 是否有更好的方法?
  2. 请问这套流程是否可行?
  3. 如果可行,这套流程是否有安全漏洞?

最重要的,大家认为这套系统有必要存在吗?

欢迎任何建议!

2365 次点击
所在节点    程序员
44 条回复
dzdh
3 小时 7 分钟前
@zephyru #40

127.0.0.1 上跑了个 nginx 。https://uuid.usr.xx.com 解析到 127.0.0.1 了。本地 nginx 证书的私钥从哪来?

server { ssl_certificate ?? }
只是域名解析到 127.0.0.1 没啥用啊。
lucasdev
3 小时 6 分钟前
我也觉得 Microsoft dev tunnel 就够了吧,就是楼上有人说过的 “vscode 的端口映射”

https://learn.microsoft.com/en-us/azure/developer/dev-tunnels/get-started?tabs=windows
zephyru
2 小时 59 分钟前
@dzdh #41
按照这楼最新的讨论,似乎是准备用服务自动去 Let's Encrypt 申请然后分发。
这方法就很多了,包装下 acme 也是法子。
dzdh
2 小时 3 分钟前
@zephyru #43

那干脆。开放个下载链接。自动定时申请 *.usr.xxx.com 证书并打包公开下载。自己配。得了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1083265

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX