Компьютерный Механизм Google Глобальные подсистемы балансировки нагрузки HTTP

Я использую компьютерный механизм Google. У меня есть менеджер по развертыванию установки и это setsup брандмауэр, который позволяет сети LB соединяться с веб-серверами, веб-серверы их сам и добавляет их к менеджеру Instance Group и настраивает Автосчетчик, который предназначается для менеджера Instance Group, Проверка состояния HTTP является установкой, которая выполнится против веб-сервера, инстанцирует, добавляют Проверки состояния HTTP к Серверной службе и добавляют менеджера Instance Group к Серверной службе, она setsup Карта URL, которая имеет Серверную службу как ее defaultService, картопостроитель URL в свою очередь добавляется к Прокси HTTP, на которого указывает Передающее Правило, которые имеют глобальный IP.

Эта установка очень похожа на установку, описанную здесь https://cloud.google.com/solutions/scalable-and-resilient-apps

Таким образом, теперь к проблеме, которую я банки, кажется, решаю для этой установки. У меня есть сервер Nginx, работающий на веб-серверах, и он отвечает на запросы, и я могу создать соединения источника события с ним, но после точно 1 минута соединение закрывается с ошибкой INCOMPLETE_CHUNKED_ENCODING. Этого не происходит, если я соединяюсь непосредственно с одним из веб-серверов. Я изменил sysconf настройки для tcp проверки активности к: сетевая ipv4.tcp_keepalive_time=600 сетевая ipv4.tcp_keepalive_intvl=15 сеть ipv4.tcp_keepalive_probes=5

Это после чтения https://cloud.google.com/compute/docs/troubleshooting#networktraffic

Я попробовал бесчисленный, думает в конфигурации nginx и наклоне не, что шов находит решение.

У кого-либо есть какой-либо язь или подобные проблемы?

1
задан 17 May 2015 в 21:00
2 ответа

Ваш nginx , вероятно, требует некоторой настройки .

0
ответ дан 4 December 2019 в 07:39

Алекс был прав, поделившись ссылкой на этот пост, потому что она ведет к основной проблеме, но она требует небольшого пояснения.

Вам нужно будет изменить значение 'keepalive_timeout' (по умолчанию 65) в файле конфигурации Nginx ( /etc/nginx/nginx.conf), чтобы увеличить время ожидания HTTP-соединений, чтобы ваше время ожидания было больше, чем 600-секундное время ожидания в балансировщик нагрузки. Это заставляет балансировщик нагрузки быть стороной который закрывает простаивающие соединения, а не nginx.

Настройте поддержку активности nginx для работы с балансировщиком нагрузки HTTP(S) Google Cloud Platofrm.
Установите «keepalive_timeout 650;» в nginx /etc/nginx/nginx.conf

keepalive_timeout 650;
keepalive_requests 10000;

Более подробная информация о http persistence

1
ответ дан 10 February 2021 в 09:52

Теги

Похожие вопросы