Jump to content

[bug] 502 Bad Gateway


graf

Recommended Posts

После установки магазина, как только мне надо применить в админке фильтр, или перелистнуть страницу в товарах или закладках выскакивает ошибка 502 Bad Gateway.
Причем первый раз фильтр или перелистование срабатывает, а последущие ошибка 502
версия 1.1.0.3
причем на 1.0 final работало нормально

FreeBSD
PHP: 5.2.6
MySQL: 5.0.51a-log
GD-библиотеки: bundled (2.0.34 compatible)

Link to comment
Share on other sites

куки сразу пробовал удалять и разными браузерами заходил, удалял. результат тот же.
подозреваю это конфликт с настройками сервака.
на денвере таких прблемм не возникает, по форуму тоже поискал. похожих ошибок нет

Link to comment
Share on other sites

  • 3 weeks later...

Привет всем русскоязычным пользователям на этом форуме!

Я тоже столкнулся с подобной ошибкой "502 Bad Gateway" на своем хостинге. Перепробовал различные настройки, которые можно было покрутить не прибегая к помощи хостера. Ничего не помогло (в код скритпов лезть не хотелось, т.к. было понятно, что не совсем это из-за скриптов).

Обратился за помощью к хостеру. Получил ответ: "скрипты не выдают ошибок, вероятнная проблема в настройках сервера". После этого по моей просьбе хостер попытался локализовать проблему на самом сервере. Окончательный ответ (дословно):

"Заключалась она в том, что при использовании некоторых команд (например сортировки списка товаров), к серверу посылались заголовки http-запросов гораздо больших по длине, чем установлено в конфигурации nginx. Для устранения ошибки мы увеличили допустимый лимит на длину заголовков".

Вот в чем "засада"!

Вот и рекомендация разработчикам этого продукта: ПОДУМАЙТЕ НАД ТЕМ, КАК В АДМИНИСТРАТИВНОЙ ЧАСТИ уменьшить длину строк передаваемых параметры модулей скриптов.

Всем успехов в освоении это продукта! :)

  • Like 1
Link to comment
Share on other sites

я эту проблему решил используя клиентское приложение, кстати спасибо за инфу. переведем и отошлем к разрабам. может в следущей версии все будет нормально.
и скажи какой у тебя хостер

Link to comment
Share on other sites

  • 3 weeks later...

Что бы решить проблему нужно заходить в админку http://mysite.com:8080/admin??? и никаких проблем не будет. Единственное скомпелировали бы это в дистрибутив разработчики. А вот при некоторых изменении настроек в админке, если на сайте седит клиент - после внесения изменений получит 502 Gataway или Hack Attemp и востановлению клиент не подлежит. Единственный выход: удолять аккаунт и регистрировать заново. Так что при проведеии тех. работ останавливайте работу магазина, иначе потери клиентов неизбежны.

Link to comment
Share on other sites

U menj sna4alo :8080/admin pomogalo, potom admin 4to to sdelal i voob6e pro "502 Bad Gateway" j zabil. 4to sdelal admin ne spra6ivaite, j ego 4uvstvuy uge sovsem dostal, zato teper' po4ti vse 4to ot nego trebuetsj rabotaet :). Piliti svoih adminov, pust' logi o6ibok smotrjt i razbirautsj.

Link to comment
Share on other sites

  • 1 month later...

такс как уже говорилось 502 вываливает из-за того что nginx считает http заголовки запроса мего ошромными и не предает апачу на обработку.
Описал человек в ветке что необходимо увеличить вес такого заголовка в конфиге, но как и что писать не сказал. У меня свой собственный хостинг и клиенты никогда не говорили про 502 ошибку, вот поставил магазин и столкнулся, потому даловаться некому, необходимо решить самому.
Вообщем у меня редхат стоит потому конфиг тут:
/etc/nginx/nginx.conf
в нем находим:
я делал глобально для всех клиентов (мало ли кому такое нуна будет, а нагрузки на серв нету)
потому в часть конфига там где

http {


вбиваем там ниже чем включение gzip сжатия

proxy_buffer_size 16k;
proxy_buffers 16 16k;


у меня работает с такмии буферами отлично, если у кого не проходит ошибка то попробуйте 24 поставить


забыл отписать за :8080/admin

Ведь в таком случае вы заходите минуя nginx что не являеться хорошо со стороны хостера. Я имею ввиду то что хостер ставит nginx что бы уменбшить нагрузку на сервер от апача, и снизить кол-во конектов к апачу защет проксирования потому многие админы (в то числе и я) порт 8080 разрешают тока с локал хоста (т.е. тока nginx ) потому с браузера не всегда можно порт 8080 заюзать, т.е. использовать apache минуя nginx
Если интерсно скажу адрес хостинга, кому нужно.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

2 Masjutin Evgeniy
Спасибо огромное за подсказку.
и вправду хостер увеличил proxy_buffer_size до 8-ми, помогло решить часть проблем с заголовками ). Но в админке, чтобы применить фильтр не помогает (( видимо буду просить проапдейтить до 16..кб

Может кто-то придумал как изменить код чтобы или конфиг магазина чтобы избежать выпадения в 502.

  • Like 1
Link to comment
Share on other sites

  • 3 months later...
Что бы решить проблему нужно заходить в админку http://mysite.com:8080/admin??? и никаких проблем не будет. Единственное скомпелировали бы это в дистрибутив разработчики. А вот при некоторых изменении настроек в админке, если на сайте седит клиент - после внесения изменений получит 502 Gataway или Hack Attemp и востановлению клиент не подлежит. Единственный выход: удолять аккаунт и регистрировать заново. Так что при проведеии тех. работ останавливайте работу магазина, иначе потери клиентов неизбежны.


у меня тоже нет нет появляется ошибка 502. хочу уточнить, при каких изменениях настроек в админке можно "забанить" клиентский аккаунт?

а если например добавляешь или обновляешь товар, страну, метод доставки, аккаунт клиента портится или нет?
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

я уже пол года назад писал про проблему и про то изза чего она. проблема остаёться на протяжении всех версий.
в свежей тоже самое. мой хостер упёртый и никогда не идет на изменение своих конфигов. сменить хостера тоже не имею возможности по разным причинам. пока магазин работает так, но выбешивает страшно.
+ по 8080 у меня например ответа нет от сервера вобще.
может можно как то своими силави исправить что в движке? в остальном уже больше года рад магазину. все прекрасно.

Link to comment
Share on other sites

  • 2 weeks later...

Как вариант можно укоротить длину в админке за счет переименования папок.
я укоротил admin1234 до a6 или любых одной-двух букв
и у меня вроде пока незаметно стало этих ошибок, а были через раз, то есть проблема была всего в несколько букв.Конечно я не перебирал пока все внутренние страницы -может где еще и вылезет,но пока все ок.

Link to comment
Share on other sites

На петерхосте непрокатило даже если назвать папку одной буквой.
невариант значит. разрабы говорят чтонить? заплатка будет? за год ктонить перевел им про этот касяк хоть чтонить?
я не владею инглишем к сожалению на столько чтоб написать им. хатя судя по фруму проблема не только у россиян..

Link to comment
Share on other sites

  • 2 weeks later...
Напишите хостинги на которых нету такой проблемы или там где вам удалось её решить.
http://maxejhost.ru/ порешали по первой просьбе но на этом их достоинства похоже кончаются судя по нынешним даунам(надеюсь временным)
Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

на хостинег JINO.RU такая же проблема. Пока запрос хостеру не создавал по этому запросу. Если вопрос решиться положительно то отпишу в этой ветке. Хостинг неплохой на самом деле но с такой ошибкой я встречаюсь впервые если честно :). Думаю надо скрипт оптимизировать.
PS у меня еще один глюк интересный нарисовался я его закинул в ветку Баги. Если кто сталкивался помогите пожалуйста как выйти из ситуации.

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...

Хостинг ispserver.ru - проблему решили без вопросов при первом обращении (дал техподдержке ссылку на эту тему).
Пишу это в качестве благодарности хостеру и рекомендации другим пользователям.

Link to comment
Share on other sites

  • 2 weeks later...

16-05-2010 14:03
Тоже неработает авторизация. Зарегился как пользователь, всё нормально, как тока вышел из панели, всё, непускает на сайт, ввожу свой маил и пароль, выдаёт типо того: ВНУТРЕННЯЯ ОШИБКА САЙТА.
Удалял те строчки,Ю\ но непомогло.
Писал хостеру:

Здравствуйте!
Измените пожалуйста в настройках хостинга эти строчки надо прописать, у меня плохо работает сайт!

Код:
proxy_buffer_size 16k;
proxy_buffers 16 16k;

#2 Сообщение | Дата: 2010-05-15 19:25:52

[сменить]
Если можно, то пожалуйста установите побольше буфера в конфиге, можно даже до 24 кб.
Вот ссылка по данному вопросу:
prestashop.com/forums/viewreply/61901/

#3 Ответ (Служба Поддержки) | Дата: 2010-05-15 23:21:45
Здравствуйте Serg,

ошибка 502, это не ошибка хостинга, на нашем уровне её почти нет. Вам луче нанять специалиста, который сможет оптимизировать скрипт + базу данных.

#4 Сообщение | Дата: 2010-05-16 09:58:20

[сменить]
Да многим это ромогло, нехватает буфера, просто нужно увеличить его, до 16 или 24 кб хотябы

#5 Ответ (Служба Поддержки) | Дата: 2010-05-16 14:23:28
Здравствуйте Serg,

у нас и так буфер 16kb

Link to comment
Share on other sites

Мне помогло вот что, хотя может и погорячился с размерами:

в ветке server:
proxy_buffer_size 32k;
proxy_buffers 64 32k;

в ветке location:
fastcgi_buffer_size 64k;
fastcgi_buffers 64 64k;

Но это если извользуется fastcgi

так что вполне возможно, что нужно просто сделать размер буфера еще больше...

А, и еще в ветке http:
client_header_buffer_size 16k;
large_client_header_buffers 16 16k;

возможно это сиграло больщую роль чем все остальное

Link to comment
Share on other sites

  • 5 months later...
  • 2 weeks later...
в ветке server:
proxy_buffer_size 32k;
proxy_buffers 64 32k;

в ветке location (если извользуется fastcgi)
fastcgi_buffer_size 64k;
fastcgi_buffers 64 64k;

в ветке http:
client_header_buffer_size 16k;
large_client_header_buffers 16 16k;


Выше ВСЕ. Некоторые параметры выше в несколько раз. И все равно 502! :( Хостинг best-hoster.ru...
Link to comment
Share on other sites

  • 1 month later...

При появлении ошибки жмем на уровень назад и удаляем из пароля 1 символ, преста на это ругается, вводим последний символ назад и все в порядке. Проблема плавающая, но решение моментальное.

Link to comment
Share on other sites

При появлении ошибки жмем на уровень назад и удаляем из пароля 1 символ, преста на это ругается, вводим последний символ назад и все в порядке. Проблема плавающая, но решение моментальное.


Это должен клиент делать? Нет, подругому выражусь - это должен покупатель делать? ))))
Link to comment
Share on other sites

При появлении ошибки жмем на уровень назад и удаляем из пароля 1 символ, преста на это ругается, вводим последний символ назад и все в порядке. Проблема плавающая, но решение моментальное.


Это должен клиент делать? Нет, подругому выражусь - это должен покупатель делать? ))))

У вас столько покупателей???
В админку периодически попасть не могу ...
Link to comment
Share on other sites

  • 2 weeks later...

Обратился к хостеру, тот переспросил про proxy_buffer_size и сказал, что у них это вообще не используется. Но тем не менее после обращения все стало нормально, ошибки больше нет... Хостер 1Gb.ru

Link to comment
Share on other sites

  • 4 weeks later...

Не могу побороть ошибку 502 в админке при работе с фильтрами.

server {
listen 80;
server_name 1.net www.1.net;
access_log /vz1/private/1424241/usr/local/apache/domlogs/1.net-bytes_log bytes_log;
access_log /vz1/private/1242441/usr/local/apache/domlogs/1.net combined;

##################################################
# proxy_cache cache_zone;
# proxy_cache_key $host$scheme$proxy_host$uri$is_args$args;
# proxy_cache_valid 200 302 304 3m;
# proxy_cache_valid 301 1h;
# proxy_cache_valid any 1m;
#################################################

location ~* ^.+\.(bmp|jpg|jpeg|pjpeg|gif|ico|cur|png|css|doc|txt|js|docx|rtf|ppt|pdf|svg|swf|3gp|dll|msi|cdr|cdd|cue|cdi|mkv|nrg|pdi|mds|mdf|arj|zip|tgz|gz|rar|bz2|7z|xls|exe|tar|wav|avi|mp3|mp4|mov|wmv|vob|iso|mpg|midi|cda|wma|bin|eot)$ {
expires 10d;
root /vz1/private/141234/home/x/public_html;
error_page 404 = @fallback;
}
location @fallback {
proxy_pass http://x.x.x.x:80;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_send_timeout 120;
proxy_read_timeout 120;
proxy_buffer_size 16k;
proxy_buffers 16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 30s;
proxy_pass http://x.x.x.x:80/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}


Проверив все доступные логи для Вашего домена - ошибки не удалось обнаружить ни в одном из них.
Так же проверил еще раз настройки для Вашего домена - ничего не было изменено, сейчас все должно работать корректно.


утверждают что длинна заголовка стоит 16 к
Link to comment
Share on other sites

Сижу на hvosting.ua. После обращения изменили с 16к на 24к. Кнопка "сбросить" так и не работает, но "фильтр" стал работать нормально. Большего мне не надо. Спасибо Косте Кравченко.

Link to comment
Share on other sites

  • 6 months later...

Свою проблему решил, как и советовали здесь: укоротил имя админпапки. Проблема была при переходе на другую страницу в каталоге товаров в админке. Сейчас проблемы уже нет.

Link to comment
Share on other sites

  • 2 months later...
  • 2 months later...

Разобрался в чем дело.

Скрипт отправляет одну и туже куку несколько раз (в зависимости от места вызова).

По ходу выполнения скрипта значение куки изменяется. Длина значения куки до 1000 символов обычно, вот и выходит 5-10 раз по килобайту.

 

Решение: выводить в заголовке только последнее значение куки.

 

В файле /classes/Cookie.php перед строкой

if (PHP_VERSION_ID <= 50200)

вставляем код

 // удаляем дубли
 $headers = headers_list(); header('Set-Cookie:');
 foreach($headers as $val) { if(strtolower(substr($val, 0, 12)) == 'set-cookie: ' AND !strpos($val, ' '.$this->_name.'=')) header($val, false); }

 

А на хостера не фиг гнать, сами подумайте заголовок 16 килобайт, порой даже превышает тело документа.

  • Like 2
Link to comment
Share on other sites

Разобрался в чем дело.

Скрипт отправляет одну и туже куку несколько раз (в зависимости от места вызова).

По ходу выполнения скрипта значение куки изменяется. Длина значения куки до 1000 символов обычно, вот и выходит 5-10 раз по килобайту.

 

Решение: выводить в заголовке только последнее значение куки.

 

В файле /classes/Cookie.php перед строкой

if (PHP_VERSION_ID <= 50200)

вставляем код

 // удаляем дубли
 $headers = headers_list(); header('Set-Cookie:');
 foreach($headers as $val) { if(strtolower(substr($val, 0, 12)) == 'set-cookie: ' AND !strpos($val, ' '.$this->_name.'=')) header($val, false); }

 

А на хостера не фиг гнать, сами подумайте заголовок 16 килобайт, порой даже превышает тело документа.

 

что плохого в изменении значения в куке?

был в корзине товарА = 1 шт

отправили данные о том что товарА = 2 шт

Просветите, для общего развития

Link to comment
Share on other sites

SergeyH, да ни чего плохого нет, это даже необходимость изменять значение куки. Проблема в том, что скрипт отправляет одну и туже куку несколько раз, при этом в браузер будет записано последнее значение.

Посмотрите заголовки: http://www.bertal.ru/index.php?url=demo-store.prestashop.com&ar=367796#h В результате такого дублирования заголовки становятся просто огромными, само собой nginx будет ругаться.

  • Like 1
Link to comment
Share on other sites

SergeyH, да ни чего плохого нет, это даже необходимость изменять значение куки. Проблема в том, что скрипт отправляет одну и туже куку несколько раз, при этом в браузер будет записано последнее значение.

Посмотрите заголовки: http://www.bertal.ru...com&ar=367796#h В результате такого дублирования заголовки становятся просто огромными, само собой nginx будет ругаться.

 

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

Link to comment
Share on other sites

Разобрался в чем дело.

Скрипт отправляет одну и туже куку несколько раз (в зависимости от места вызова).

По ходу выполнения скрипта значение куки изменяется. Длина значения куки до 1000 символов обычно, вот и выходит 5-10 раз по килобайту.

 

Решение: выводить в заголовке только последнее значение куки.

 

В файле /classes/Cookie.php перед строкой

if (PHP_VERSION_ID <= 50200)

вставляем код

 // удаляем дубли
 $headers = headers_list(); header('Set-Cookie:');
 foreach($headers as $val) { if(strtolower(substr($val, 0, 12)) == 'set-cookie: ' AND !strpos($val, ' '.$this->_name.'=')) header($val, false); }

 

А на хостера не фиг гнать, сами подумайте заголовок 16 килобайт, порой даже превышает тело документа.

 

Спасибо, помогло. Уже хотел было хостеру писать, но не понадобилось.

Link to comment
Share on other sites

  • 4 weeks later...
  • 5 months later...

Мы купили шаблон у одних, хостинг у других. с хостинга предлагают поставить шаблон на более мощный движок чтобы решить эту проблему увеличивать мне ни чего не желает, а те у кого мы купили шаблон говорят что наш наблон на новый движок не ляжет( Что делать??

Link to comment
Share on other sites

Для начала скажите какая версия престашопа у Вас установлена и доя какой версии престашопа вы купили шаблон, далее напишите что за хостинг и какой тариф.

Link to comment
Share on other sites

Эта ошибки из-за nginx, в конфиге nginx нужно дописать в location / {}

 

Если не ошибаюсь тот вот эти две строчки:

 

 

client_max_body_size 10m;

client_body_buffer_size 128k;

Link to comment
Share on other sites

  • 9 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...