【发布时间】:2015-02-20 13:56:22
【问题描述】:
假设 appengine 上有两个不同的应用程序——一个由 Go 驱动,另一个由 PHP 驱动
他们每个人都需要能够纯粹通过后端网络向彼此发出特定请求(即,这些是唯一需要发出这些特定请求的服务 - 其他远程请求应该被阻止) .
执行此操作的最佳实践方式是什么?在我的脑海中,这里有 3 种可能的解决方案以及为什么我有点担心它们
1) 不要将它们作为单独的应用程序,而是模块
这样做的问题是,使用模块会带来一些其他的烦恼——例如频道存在报告的困难。此外,从概念上讲,这两个请求实际上是它们唯一接触的地方,如果将它们分开,就可以更清楚地看到数据库使用等方面的情况。但存在问题更像是一个阻碍
2) 使用硬编码的长密钥附加请求,并且仅在通过 SSL 时允许响应
依赖这个似乎有点奇怪,因为密钥永远不会改变......理论上唯一可以知道的方法是帐户管理员或有来源的人是否透露了它......但我不知道不知道,就是觉得很奇怪
3) 仅允许通过某些 IP 范围(可能与 #2 结合使用)
这似乎有点不确定,IP 范围可以确定吗?
4) 发布/订阅
所以看起来 AppEngine 允许发布/订阅机制——但这并不真正适合我的用例,因为我想立即获得响应——而不是通过订阅者处理后的回发
全部 -- 顺便说一句,假设它是某种 https 请求,是否使用每种语言的 Socket API 来完成?
【问题讨论】:
标签: php google-app-engine go