Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 如何在我的应用程序引擎中仅允许内部(cron)请求_Google App Engine_Google Cloud Platform_App Engine Flexible - Fatal编程技术网

Google app engine 如何在我的应用程序引擎中仅允许内部(cron)请求

Google app engine 如何在我的应用程序引擎中仅允许内部(cron)请求,google-app-engine,google-cloud-platform,app-engine-flexible,Google App Engine,Google Cloud Platform,App Engine Flexible,目前,我正在使用nodejs应用程序引擎(灵活的环境),来执行计划任务,如关闭和启动实例或创建ShapShot。问题是这些应用程序引擎可以从任何地方访问,但我只希望它们可以在我的谷歌云网络中访问。 我似乎真的无法让防火墙那样工作。 有人知道是否有办法做到这一点吗?要强制在谷歌云网络中触发cron作业,您可以检查请求的X-Appengine-cron:true头,客户端IP为0.1.0.1 发件人: 您可能希望验证对cron URL的请求是否正在发出 来自应用程序引擎,而不是来自其他来源。你可以这

目前,我正在使用nodejs应用程序引擎(灵活的环境),来执行计划任务,如关闭和启动实例或创建ShapShot。问题是这些应用程序引擎可以从任何地方访问,但我只希望它们可以在我的谷歌云网络中访问。 我似乎真的无法让防火墙那样工作。
有人知道是否有办法做到这一点吗?

要强制在谷歌云网络中触发cron作业,您可以检查请求的
X-Appengine-cron:true
头,客户端IP为
0.1.0.1

发件人:

您可能希望验证对cron URL的请求是否正在发出 来自应用程序引擎,而不是来自其他来源。你可以这样做 正在验证请求的HTTP标头和源IP地址:

  • 来自Cron服务的请求还将包含HTTP头:

    X-Appengine-Cron:true

X-Appengine-Cron头由Google App Engine在内部设置。 如果您的请求处理程序找到此标头,它可以相信 请求是一个cron请求。X-Header由应用程序引擎剥离 当它们来自外部来源时,以便您可以信任 标题

  • Google App Engine从IP地址0.1.0.1发出cron请求

你能保证Cron工作的安全吗?在《邮递员》中尝试过这一点,肯定会去掉
X-Appengine-Cron
,但不是所有的
X-
标题。我想任何出现在引擎本身使用的
X-
头都会被剥离。我能够发送
X-AppengineCrn
很好(检查邮递员是否正常工作),这就是问题所在,因此只有AppEngine可以设置标题,以便您可以信任它。