## 动机
最近在开发 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. 如果可行,这套流程是否有安全漏洞?
最重要的,大家认为这套系统有必要存在吗?
欢迎任何建议! |
|