在Google App Engine的维护页面上返回503标头

时间:2019-04-11 06:30:17

标签: google-app-engine google-cloud-platform response-headers app.yaml

我们正在尝试在Google App Engine上建立一个简单的维护页面。

创建页面很容易,但是我们找不到一种返回503响应代码来避免搜索机器人出现问题的方法。

尝试1:在PHP中添加标头

我们尝试用PHP创建维护页面,并在页面顶部添加标题:

<?php
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 300');
?>

但是,Google App Engine似乎看到我们的服务返回了503代码,并将其视为内部错误。

用户最终看到的是带有500个代码的无样式页面,该页面显示:

Error: Server Error
The server encountered an error and could not complete your request.
Please try again in 30 seconds.

尝试2:将标题添加到app.yaml中的静态页面

我们尝试将维护页面创建为简单的HTML文件,并在app.yaml中添加标题:

handlers:
  - url: .*
    static_files: index.html
    upload: index.html
    secure: always
    http_headers:
      Status: 503 Service Temporarily Unavailable
      Retry-After: 300

在这种情况下,将返回标头 。不幸的是status标头被设置了两次-首先设置为200,然后设置为503。状态码200返回给用户。

我对如何实现显示维护页面并返回503状态代码的想法一无所知。任何变通办法表示赞赏!

0 个答案:

没有答案