Docker容器上的Google App Engine Flex运行状况检查

时间:2018-09-24 15:00:05

标签: docker google-app-engine nginx gae-module google-app-engine-php

因此,我正在为我的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。我已经测试过在容器上关闭我的服务,即使它没有运行,它也显示该应用程序运行状况良好。

1 个答案:

答案 0 :(得分:0)

针对有类似问题的任何人。

我能够成功解决此问题。这里的问题全部来自我的nginx配置,该配置用于将所有流量重定向到www。我的网站版本需要执行此操作。

我的nginx设置为对网站的www版本的所有请求均为301,这导致运行状况作业重定向并返回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灵活上配置自定义运行状况检查并在其网站上具有自定义nginx规则的人们有所帮助