1

所以我正在为我的 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。我已经测试过在容器上关闭我的服务,它显示应用程序是健康的,即使它不是。

4

1 回答 1

0

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

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

我的 nginx 设置为 301 所有对我网站 www 版本的请求,这导致运行状况作业重定向并返回 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 规则的人

于 2018-09-27T14:18:19.890 回答