泊坞窗。 使用基于主机ID的许可证运行软件

我正在开发一个用Java实现的新产品,需要运行许可证。 许可证validation基于服务器ID。 如果我直接在Linux服务器上运行它,这不是一个问题。

但是,我想提供在Docker中运行我的软件的选项,但问题是,我不知道如何从docker容器获取主机ID。 我不想使用docker容器ID,因为客户可能需要重新创build它(例如对于软件更新),所以我需要知道主机服务器的ID。

我想过使用MAC地址,但它需要使用“–net = host”选项来运行容器,由于安全原因,我想避免使用该选项。

也许你应该退后一步,寻找替代方法,例如这个系统可以使用两个组件:

  1. 您的用户拥有某种可存储在本地文件系统中的ID +私钥
  2. 您的应用程序从磁盘读取该文件; 然后联系你的“家庭服务器”来validation这个ID +密钥实际上是“好的”,如果是的话,你的应用程序启动; 否则停止

这样的解决scheme甚至可以让人们将许可证文件包含到他们的泊坞窗图像中。

而且logging:任何其他解决scheme都不会使您的应用程序与中央服务器对话,这可能会让您感到头疼。