动机
最近在开发 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
楼主认为可行的操作形式是:
- 用户首先通过 cli 或者网页登记,然后得到
usr识别码和*.usr.localhttps.top的泛域名证书(识别码是为了预防潜在的滥用行为)。 - 用户访问
xxx-xxx-xxx-xxx.usr.localhttps.top,DNS 服务器将自动解析到对应的局域网 IP ,如xxx.xxx.xxx.xxx。
将所有局域网 IP 段填充到 DNS 解析中并不现实,因此想到了两种解决方案:
- 通过
namesilo的 DNS API 实时登记请求解析的 IP 。 - 搭建自己的 NameServer (如
ns1.localhttps.top),实现自动解析和权鉴。
手动管理证书是及其不健康的,楼主的主要工作语言是 Python 和 NodeJS ,计划开发能自动下载证书、提供证书、维护证书的包。
疑问
- 是否有更好的方法?
- 请问这套流程是否可行?
- 如果可行,这套流程是否有安全漏洞?
最重要的,大家认为这套系统有必要存在吗?
欢迎任何建议!