## 动机

最近在开发 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. 如果可行,这套流程是否有安全漏洞?

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

欢迎任何建议!
举报· 176 次点击
登录 注册 站外分享
13 条回复  
shadowyue 初学 2024-10-24 15:30:18
注册个自己的域名,弄个小服务器呗
Nazz 小成 2024-10-24 15:32:27
用 cfssl 生成自签名证书就行了
snipking 小成 2024-10-24 15:33:59
参与调试的机器有多少啊,数量不大的话简单点就是做自签名证书,然后直接对服务器 IP 签发证书,再把 ca 证书装到调试设备上就行了
jqknono 初学 2024-10-24 15:37:17
得先确认浏览器是否只允许本机 ip 和 https 域名开启 WebRTC 服务, 试试看开一个 private 窗口是否允许.
ligolas 初学 2024-10-24 15:48:42
看起来,你的需求 mkcert, https://github.com/FiloSottile/mkcert 完全能满足
rrfeng 小成 2024-10-24 15:53:54
你不想弄证书,和解析到哪有什么关系???解决了什么问题???
andyskaura 小成 2024-10-24 15:56:05
花你那个工夫,随便捞个证书都已经调试完毕了
vinsony 小成 2024-10-24 15:58:28
eu.org+acme 不要钱
cheng6563 小成 2024-10-24 16:04:09
eu.org 搞个免费域名,然后搞个泛域名证书完事了
12下一页
返回顶部