Ошибка Google App Engine "Upstream отправил слишком большой заголовок" - PullRequest
1 голос
/ 10 января 2020

Я запускаю приложение Laravel с Google App Engine Standard PHP 7.2, с пакетом Elfinder.

Сегодня я получаю 502 ошибку при попытке доступа к Elfinder. После анализа журнала я обнаружил эту конкретную ошибку:

96 в обратном направлении отправил слишком большой заголовок при чтении заголовка ответа из обратного потока, клиент: XXX.XXX.XXX.XXX, сервер:, запрос: "GET / xxx / elfinder / connector? _token = XXX ", восходящий поток:" fastcgi: // unix: /tmp/google-config/php-fpm.sock: ", хост:" XXX ", реферер:" XXX ".

После поиска в Google аналогичной проблемы я обнаружил, что это, вероятно, проблема с nginx proxy_buffer_size. Однако я не знал, как редактировать nginx .conf в Google App Engine Standard. Кто-нибудь может мне помочь?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

У меня была такая же проблема со стандартом GAE php73, и эта проблема связана с настройкой app.yaml

    SESSION_DRIVER:     cookie

(или в вашем .env). Это отправляет всю информацию о сеансе через заголовок, и это может стать слишком большим (не знаю предельное значение GAE по умолчанию)

Вам потребуется использовать параметр redis (GCS memorystore) или базу данных для сеанса. GCS memorystore было для меня слишком дорого (минимум $ 33 в месяц), поэтому я использую базу данных в качестве драйвера сеанса.

0 голосов
/ 10 января 2020

У вас нет nginx .conf файла в App Engine Standard, поэтому вы не можете его редактировать или настраивать.

У вас есть nginx .conf файл в App Engine Гибкая среда .

Здесь - это официальная документация Google Cloud Platform для создания гибкой среды App Engine, а настройка файла nginx .conf .

* 1010. * После создания среды Google App Engine Flexible, если вы по-прежнему получаете сообщение об ошибке «Отправленный слишком большой заголовок», это связано с тем, что App Engine Flexible использует значение по умолчанию proxy_buffer_size, равное 4 КБ, и вам нужно больше.

Таким образом, вы можете вставить следующий код в nginx .conf файл:

location / {
    try_files $uri /index.php?q=$uri&$args;
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

}

...