Часть POST запросов блокируется

КВ
На сайте с 20.07.2016
Offline
0
3505

Приветствую всех!

Предыстория - у заказчика Битрикс - корпоративный портал. Создал тикет с проблемой - не сохраняются некоторые формы (или сохраняются через раз).

При сохранении изменений падает ошибка:

Сайт xxxxxxxxxxxxxxxxx не отправил данных.

ERR_EMPTY_RESPONSE

(это в хроме)

Исследую проблему, были найдены следующие закономерности:

1) проблема не с сайтом - с сервером. Вынес форму в отдельный файл

2) проблема только с POST (GET проходит)

3) если общаться с сайтом через https , все так же ок.

4) (?) если в хроме проделать следующую последовательность: отключить JS для всех сайтов, открыть страницу с формой, затем включить JS, перезагрузить страницу, то форма раза 2-4 сохраняется, затем снова наступают блокировки

5) проблема тестировалась на разных браузерах, в различных сетях и на разных компьютерах (т.е. не клиентская часть виновата)

6) в логах в общем пусто. Произошедшее заметил только Nginx:

2016/07/20 07:49:29 [info] 26678#0: *68130 client prematurely closed connection, client: xxx.xxx.xx.x, server: _, request: "POST /bitrix/admin/user_edit.php?ID=1&lang=ru HTTP/1.1", host: "xxxxxxxxxxxxx", referrer: "http://xxxxxxxxxxxxxx/bitrix/admin/user_edit.php?lang=ru&ID=1&user_edit_active_tab=edit1"

7) проблемы с ограничением на количество переменных и размером данных нет. Генерировал огромные формы (500 переменных + огромные строки в значениях и названиями) - они проходят.

8) Исследую проблемную форму, заметил закономерность - оставляя 47 переменных, 1 из 10/15 запросов падает с ошибкой выше (далее чем больше параметров, тем чаще падения. Исходная форма падает почти каждый запрос - там около 200 переменных)

убирая же любой инпут (т.е. доводя число переменных до 46 и менее), запросы проходят без проблем.

В чем может быть проблема? что может таким выборочным образом блокировать данные? буду рад любым предположениям.

kxk
На сайте с 30.01.2005
Offline
990
kxk
#1

Клаус Вагнер, Обновить/выбросить Nginx

Ваш DEVOPS
lealhost
На сайте с 07.06.2014
Offline
136
#2
Клаус Вагнер:
Приветствую всех!

8) Исследую проблемную форму, заметил закономерность - оставляя 47 переменных, 1 из 10/15 запросов падает с ошибкой выше (далее чем больше параметров, тем чаще падения. Исходная форма падает почти каждый запрос - там около 200 переменных)
убирая же любой инпут (т.е. доводя число переменных до 46 и менее), запросы проходят без проблем.

В чем может быть проблема? что может таким выборочным образом блокировать данные? буду рад любым предположениям.

Если честно в голове крутится только одна аналогия — 47 хромосома, синдром дауна :)

Какая версия nginx? Пробовали ли запускать форму на других серверах/хостингах?

Если используется Apache как бэкэнд, то попробуйте открыть порт для внешнего мира (или только для себя, через iptables, к примеру) и протестируйте работу формы напрямую с Apache. HTTPS работает через Apache или nginx?

M
На сайте с 30.08.2010
Offline
92
#3

смотрите и логи бекенда

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий