我在Heroku上创建了一些微服务,所有这些都需要彼此交谈。布局是这样的:
User making requests
|
Service #1 ------ Web server ------ Authentication server
|
Service #2
因为他们都在Heroku上,所以没有内部网络 - 他们都在广泛开放的互联网上。我怀疑这些内部服务的HTTPS会有点过分 - 可以想象,我不得不担心拦截通信的唯一第三方是:
假设我愿意承担上述风险,我只使用HTTP作为我的微服务吗?
答案 0 :(得分:3)
只需使用HTTPS即可完成。
这不是矫枉过正。使用现代处理器,开销很小。是的,您需要证书,但在这种情况下,即使是自签名证书也可以,只要您手动将证书加载到客户端即可。这样就可以验证服务器的身份。
TLS可防止多个载体:
数据泄漏
恶意的人可以读取您的数据
数据篡改
恶意的人可以篡改您的数据
服务欺骗
恶意的人可以伪装成有问题的服务器。
如果你信任基础设施(如果你觉得这很大),那么你不需要担心1或2.但你仍然需要担心3,因为除非你做一切强>离开vlan上的IP地址,攻击向量可能仍然存在。
但是,当您拥有不必信任它们的工具时,为什么要信任基础架构?
这不像HTTPS贵......
答案 1 :(得分:1)
HTTPS确实是最佳选择。
HTTP
的问题值得考虑您的观众,他们是否欣赏。
请注意,如果它是一个嵌入式系统,使用ssl可能会让人感到痛苦,但这对于心灵来说非常值得。 2美分