我一直在研究如何使用mDNS从JavaScript应用程序中发现服务。其基本思想是向exampleservice.local发出AJAX请求,并使其返回带有相关信息的JSON。
由于应用程序是通过HTTPS加载的,所以任何AJAX请求都必须使用HTTPS (以避免非安全内容警告等)。然而,从2015年11月开始,不可能将获得一个可信的CA颁发的.local域证书。
考虑到上面的新限制,是否有任何方法可以在mDNS中使用HTTPS而不涉及用户信任自签名证书?
发布于 2015-04-25 09:57:06
mDNS代表网络本地的名称。全球颁发的证书用于互联网上的名称,不能用于本地名称,因为与internet上的全局唯一名称相反,本地名称在不同的本地网络中可能是相同的,因此没有真正的名称所有者可以为其申请全局证书。
这意味着您不能使用浏览器中可用的全局信任设置(即根CA),而必须添加本地信任设置。这可以通过拥有自己的本地根CA并在本地网络上的所有浏览器中信任它,或者使用需要每个用户显式信任的自签名证书来实现。
除此之外,想象一下其他开发人员也有相同的想法。这意味着对于相同的本地名称将有几个独立的证书,因为它们都在不同的本地网络中。因此,使用mDNS名称和https在本地安装时才有意义,而没有任何类型的移动客户端。
https://stackoverflow.com/questions/29863571
复制相似问题