使用 cron 作业命中_ah/预热处理程序,在日志中获取 301。为什么要重定向?它不应该返回 200 吗?



因此,我的用例是这样的,最好在app.yaml中使用min_instance为零,但始终有一个实例在默认版本下运行。

因此,为了做到这一点,我安排了一个cron作业,在实例在15分钟无活动后关闭后,每14分钟点击一次_ah/预热。

现在我不能理解的是,当cron作业运行时,它会失败,并且在日志中显示301。而这是我的预热处理程序的代码。

def warmup(request):

return JsonResponse(data={})

它不应该退回200吗?。我还注意到,即使这是一个重定向,目标也正在实现。该实例没有关闭。但我只是好奇它为什么重定向?

Cron作业和_ah/URL最终由应用程序引擎作为非HTTPS请求调用。有力地说:(

如果您通过服务器/框架强制使用SSL,则会出现进入重定向循环的情况。所以应用引擎会用非HTTPS来调用它,你的服务器/框架会尝试";升级";然后,应用程序引擎将强制它返回到非HTTPS,因此它将继续,直到达到重定向限制。

要解决此问题,请找到一种方法,使/\ah/warmup URL免于强制为HTTPS。实际上,你可以先用HTTPS在浏览器中点击/\ah/预热请求,然后注意它会降级为HTTP(一旦你修复好(

最新更新