Php 仅允许应用程序引擎说话或连接到计算引擎

Php 仅允许应用程序引擎说话或连接到计算引擎,php,google-app-engine,google-compute-engine,Php,Google App Engine,Google Compute Engine,我有一个安装了apache/php的静态IP计算引擎 我的应用程序引擎像任何普通的POST调用一样调用php脚本。我收到指向我的计算引擎的随机请求,我想限制我的计算引擎只接受来自我的应用引擎的请求 要么在PHP脚本中检查它,要么制定某种防火墙规则 我能想到的唯一办法是限制它的IP,但应用程序引擎有许多不同的IP 你们认为最好的做法是什么?HTTPS可能是最安全的方法,因为您可以检查对方的证书并删除来自任何人的请求,但对方不是您喜欢的urlfetch可以发出https请求,事实上,出于各种可靠的安

我有一个安装了apache/php的静态IP计算引擎

我的应用程序引擎像任何普通的POST调用一样调用php脚本。我收到指向我的计算引擎的随机请求,我想限制我的计算引擎只接受来自我的应用引擎的请求

要么在PHP脚本中检查它,要么制定某种防火墙规则

我能想到的唯一办法是限制它的IP,但应用程序引擎有许多不同的IP


你们认为最好的做法是什么?

HTTPS可能是最安全的方法,因为您可以检查对方的证书并删除来自任何人的请求,但对方不是您喜欢的
urlfetch
可以发出
https
请求,事实上,出于各种可靠的安全最佳实践原因,我们都鼓励这样做

实现这一点的方法(我已经实现并运行良好)是在GCE服务器上设置HTTP身份验证,并在请求中使用这些凭据

我已经用nginx和apache完成了这项工作,这取决于您在GCE上运行的是什么

如果需要,您可以使用基本身份验证或摘要/HTTPS


实际上,我使用它来利用AppEngine的Elasticsearch。

我确实使用url获取来进行https请求。我该如何检查对应证书?@bryan,检查当然是在服务(GCE)方面。我不是PHP专家,但它似乎有很好的使用curl库的技巧。我相信网络搜索可以更好地指导你;毕竟,在GCE上,你可以像签入任何服务器一样进行检查——没有沙箱来阻碍(或帮助:-)你……嗯。当调用我的计算引擎证书时,我并没有试图检查它,我希望我的计算引擎脚本在appengine上调用uponurlfetch时进行检查,因为它不支持客户端证书