Google App Engine Flex 对 Docker 容器进行健康检查

Google App Engine Flex Health Checks on Docker Containers

所以我正在为我的 Craft CMS 应用开发 GAE Flex。我在主管上使用 nginx 和 mysql_tunnel 来提供此服务。

我正在尝试配置健康检查 Google 以确保服务正常运行,但由于某种原因它无法正常工作。

liveness_check:
  path: "/_ah/health.php"
  check_interval_sec: 30
  timeout_sec: 4
  failure_threshold: 2
  success_threshold: 2

这是我在 app.yaml 文件上的配置,当我检查 GAE 上的运行状况检查时,它显示它们返回 301 而不是预期的 200。我已经测试过在容器上关闭我的服务,它显示应用程序是健康的,即使它不是。

对于遇到类似问题的任何人。

我能够成功解决这个问题。这是问题这一切都来自我的 nginx 配置,该配置设置为将所有流量重定向到 www。我的网站版本,因为我需要强制执行此操作。

我的 nginx 设置为 301 对我网站的 www 版本的所有请求,这导致运行状况作业重定向和 return 301 错误。我在我的 nginx.conf 顶部添加了这个服务器块,以接收所有默认服务器请求以及我的健康检查位置以处理它们并修复它:

server {
  listen 8080 default_server;

  location ~ ^/_ah/ {
    root /var/www/public;
    try_files $uri =404;
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO       $fastcgi_path_info;
    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

    fastcgi_pass   localhost:9000;
    fastcgi_index  index.php;
  }
}

希望这对尝试在 Google App Engine Flexible 上配置自定义健康检查并在其站点上具有自定义 nginx 规则的人们有所帮助