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

324 天前
 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. 如果可行,这套流程是否有安全漏洞?

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

欢迎任何建议!

4136 次点击
所在节点    程序员
52 条回复
dzdh
323 天前
@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
323 天前
我也觉得 Microsoft dev tunnel 就够了吧,就是楼上有人说过的 “vscode 的端口映射”

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

那干脆。开放个下载链接。自动定时申请 *.usr.xxx.com 证书并打包公开下载。自己配。得了。
igwen6w
323 天前
何必这么费劲,目标机器启动 http 服务,自签证书,域名随便弄,手机上开个代理指向目标机器局域网 ip 就行了或者内网穿透。
Leon6868
322 天前
@dzdh #44 对的,我就是这个意思,网站自动维护泛域名证书,要用直接下载就行了,也提供 python 、nodejs 的自动下载库。
mozhizhu
322 天前
随便搞个域名,然后再 Linux 环境下,跑一个 nginxproxymanager ,轻松帮你解决问题(
mmdsun
290 天前
@esee
@ligolas
请问 mkcert 生成的证书是不是只能本地用? 我用 mkcert 生成的证书放到 nginx 上面本地是好的,局域网其他机器设置 hosts+域名访问就提示证书非法了。
其他机器也用了 mkcert install 安装导出的根证书。
ligolas
290 天前
@mmdsun 是可以在局域网内使用的,方法就是安装导出的根证书,可能是你什么地方操作的不太对。因为有些平台有一堆交互式操作,可能选错。
esee
289 天前
@mmdsun 不会啊,其他机器是什么机器,可能没有信任到用户的证书。像苹果的话,你签 10 年有效期的可能就不认,你签个两年的用用就行,这是设备上限制的。抓包都是这个原理
jeesk
284 天前
实话说,突然感觉 sspip 容易被钓鱼,特别是 http 验证,能够伪造证书
jeesk
284 天前
可能是我想错了,如果公网 ip 申请证书
比如公网 ip 能够申请 a.sslip.io 的泛域名证书,对方拿到这个证书就能伪造和你一样的服务。

不知道我这样考虑中对不对

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

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

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

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

© 2021 V2EX