2

我一直在研究使用 mDNS 从 JavaScript 应用程序进行服务发现。基本思想是向 AJAX 请求exampleservice.local并返回带有相关信息的 JSON。

由于应用程序是通过 HTTPS 加载的,因此还必须使用 HTTPS 进行任何 AJAX 请求(以避免不安全的内容警告等)。但是,从 2015 年 11 月起,将无法为 .local 域获得受信任的 CA 颁发的证书。

鉴于上述新限制,是否有任何方法可以在不涉及让用户信任自签名证书的情况下将 HTTPS 与 mDNS 一起使用?

4

1 回答 1

2

mDNS 用于网络本地的名称。全球颁发的证书适用于 Internet 上的名称,不能用于本地名称,因为与 Internet 上的全局唯一名称相反,不同的本地网络中的本地名称可以相同,因此不存在名称的真正所有者可以为其申请全局证书。

这意味着您不能使用浏览器中可用的全局信任设置(即根 CA),而必须添加本地信任设置。这可以通过拥有自己的本地根 CA 并在本地网络上的所有浏览器中信任它或通过使用需要每个用户明确信任的自签名证书来完成。

除此之外,想象一下其他开发人员也有同样的想法。这意味着相同的本地名称将有多个独立的证书,因为它们都位于不同的本地网络中。因此,将 mDNS 名称与 https 一起使用只会在没有任何移动客户端的本地安装中有意义。

于 2015-04-25T09:57:06.810 回答