我有一个连接到用户的WiFi网络并通过简单的REST接口响应命令的小工具[*]。用户使用Web应用程序来控制此小工具。目前,网络应用已通过http
服务,并且应用的JavaScript会AJAX调用小工具的本地IP地址来控制它。这个方案效果很好,我没有问题。本地IP地址的HTTPS
[*]通过“小配件”我的意思是用户购买和他们的家中安装并配置连接到他们的家庭Wi-Fi网络
现在,我希望有一个实际的,有形物联网设备通过https
服务这个网络应用程序。我没有问题在主机端设置https
。问题是,现在浏览器阻止访问小工具(因为小工具的REST API超过http
而不是https
)。
明显的解决方案是通过https
让小工具为其提供REST API。但是如何?它有一个本地IP地址,没有人会为它颁发证书。 (即使他们这样做了,我也必须为每个可能的本地IP地址购买一大堆证书)。我可以通过云进行往返(通过在服务器端添加更多逻辑来接受来自Web应用程序的命令并转发它通过另一个连接到小工具),但这会增加延迟。
有没有办法解决这个问题?我心里有一种可能性是:
- 获取通配符证书(比如,
*.mydomain.com
) - 跑我自己的DNS映射子域到本地IP地址下面的模式(例如,
192-168-1-123.mydomain.com
将映射到192.168.1.123
) - 使用通配符证书中的所有小工具
- 我的web应用程序,然后可以使AJAX调用
https://192-168-1-123.mydomain.com
而不是http://192.168.1.123
和延迟会预留不受影响从最初的DNS查找
会这样吗?这是一个昂贵的尝试(通配证书成本约200美元),运行DNS服务器看起来像是一个lot的工作。另外我发现自己没有资格考虑安全影响。
也许已经有解决这个问题的服务了吗?
为什么不尝试将您的小工具放在静态IP地址上?然后,您只需要一个证书 – koelkastfilosoof
@koelkastfilosoof大多数CA不颁发裸露IP地址的证书。即使他们,我是否必须依靠我的用户来进行配置(静态IP必须在WiFi路由器上配置以避免冲突),这是容易出错的。另外,每个家庭不可能有多个小工具。 –
http://security.stackexchange。com/questions/116832 /安全 - 点对点通信 – lxkarthi