Ошибка при сборке чанков код ошибки 502

Nextcloud community

Loading

Иногда вместо сайта в браузере появляется страница с ошибкой. Рядом с сообщением об ошибке часто приведен код, который поможет распознать и устранить неисправность. Разберемся с кодом 502 bad gateway – что же это значит, и как зайти на нужный сайт.

Причины ошибки

Что означает код ошибки 502? Он сообщает о «плохом шлюзе» – сервер, на котором размещен нужный вам интернет-ресурс, при обращении вернул некорректный ответ. Это происходит из-за избыточной нагрузки – шлюз не может обработать поступивший запрос и не отправляет нужные данные.

Браузер с ошибкой 502

Обычно ошибка 502 bad gateway возникает, если:

Есть и другие причины возникновения ошибка 502 – проблемы с адресом DNS или прокси-сервером. В любом случае, эта неисправность не зависит от компьютера пользователя и его настроек.

Как исправить

При появлении 502 bad gateway – как же исправить проблему? Полностью устранить ошибку на удаленном сервере вы не сможете, но ряд действий может помочь получить доступ на сайт:

Очистка кэша в Хроме

Из-за кэшированных и временных файлов вы можете видеть ошибку даже тогда, когда на сервере она уже устранена. Чтобы удалить cookies, заходите в настройки браузера:

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

Заключение

Мы разобрались, что такое ошибка 502 в браузере и как поступить для ее устранения. Помогут простые действия – обновление страницы, очистка временных файлов. Если ничего не помогло – зайдите на ресурс чуть позже, когда он не будет перегружен.

Error 502 (Bad Gateway) – что это? 10 способов исправить ошибку

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

На экране появляется сообщение: error “502 Bad Gateway”.

Переводится как «плохой (ошибочный) шлюз».

Эта ошибка, как правило, возникает, когда пользователь повторно обращается к одним и тем же ссылкам.

Проблема в следующем:

Рассмотрим ошибку на примере.

Пользователь подал запрос на сервер. А сервер этот запрос обработал, но не так как требовалось, либо удалил из очереди.

Могут случаться сбои, когда сервер путается в приоритетности запросов и прекращает обработку.

После ошибки в обработке запроса, пользователю отправляются данные в виде надписи «502 Bad Gateway».

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

Главное, что должен знать пользователь — это не вирус.

Причины появления ошибки

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

Оперативная память

Ошибка error 502 может появляться на определенную страницу, а не на весь сайт.

1Нужно попробовать повторно перезагрузить URL — адрес. Для этого можно использовать клавишу F5 либо нажать кнопку обновления браузера. Еrror 502 часто указывает на сетевую ошибку, которая может быть очень быстро устранена. Повторное обновление в таком случае окажется успешным. Так происходит довольно часто.

2. Закрыть все окна браузера и открыть новый сеанс. Снова попытаться открыть интересующую веб-страницу.

3. Стоит перезапустить программу браузера. Это может решить проблему.

4. Перейти на любой другой сайт. Ошибка в данном случае пропадет. А когда нагрузка на сервер уменьшится, можно будет посетить сайт, который запрашивался ранее. Возможно, не открываются любые страницы. Значит, надо обращаться к своему интернет-провайдеру.

5. Проверить подключение к интернету. Иногда необходимо усилить сигнал wi-fi.

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

Рекомендуется перезапуск сетевых устройств: модемов, коммутаторов, маршрутизаторов.

7. Убедились в том, что доступ к интернету есть. Но, при попытке попасть на нужный сайт все — равно появляется ошибка «502 Bad Gateway».

Значит, надо удалить файлы cookies.

Некоторые из них могут оказаться поврежденными или устаревшими.

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

8. Запуск браузера в режиме «инкогнито». Это означает, что браузер запустится со своими стандартными настройками. Они установлены по умолчанию. Надстройки и расширения никак не повлияют. Для Google Chrome переход в режим инкогнито осуществляется следующим образом: Ctrl+Shift+N.

Браузер Google Chrome в режиме инкогнито

Браузер Google Chrome в режиме инкогнито

Error 502 в режиме инкогнито больше не появляется? Ошибка выявлена. Это расширения и настройки браузера.

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

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

Как удалить файлы cookies из различных браузеров

Во время серфинга страниц или сайтов в интернете используется какой-либо браузер.

Во время этого процесса, вся информация записывается на жесткий диск.

Это могут быть: картинки, текстовые файлы, любая информация, которую просматривал пользователь.

Все это хранится на винчестере компьютера в кэшах или куках (текстовых файлах).

Очистить кэш или удалить куки можно, используя несколько способов:

Важно отметить, что после проведенной чистки НЕ требуется перезапуск компьютера или переустановка браузера.

Процесс чистки немного отличается в разных браузерах.

Google Chrome

В следующих четырех пунктах надо проставить галочки.

Таким образом, браузер очистится от: истории просмотров, истории скачиваний, файлов cookie, а также изображений и других файлов.

Firefox

Рубрика «приватность» в браузере Firefox

Рубрика «приватность» в браузере Firefox

Opera

Internet explorer

Способ подходящий для любого браузера

Необходимо запустить браузер (тот, который надо очистить);

Комбинация клавиш Ctrl+Shift+Delete

Комбинация клавиш Ctrl+Shift+Delete

Как удалить отдельные cookie файлы

Способ очистки при помощи программы Ccleaner

Возможно, у кого-то данная программа может быть уже установлена.

Поскольку ее также используют для очистки операционной системы Windows.

Это позволяет освободить ОС от всего лишнего и ускорить работу компьютера.

Если данной утилитой не доводилось пользоваться, ее необходимо скачать и установить.

Скачивать рекомендуется только с проверенных сайтов. Данная утилита является бесплатной.

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

В противном случае, можно удалять куки-файлы непосредственно через браузер.

Когда браузер чист, можно еще раз попробовать зайти на интересующий сайт.

Если снова появляется error 502, то проблема, наверняка на сервере сайта, который выдает ошибку.

ВИДЕО: Как исправить ошибку 502 Плохой Шлюз — Чистим кэш браузеров

Как исправить ошибку 502 Плохой Шлюз

Error 502 (Bad Gateway) – что это? 10 способов исправить ошибку

Как очистить кэш браузеров на мобильном телефоне

Ошибка error 502 может появиться не только на персональном компьютере.

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

Алгоритм действий для телефона такой же.

1. Очистка кэша для Android:

2. Очистка кэша для IOS:

Error 502 (Bad Gateway) – что это? 10 способов исправить ошибку

Очистка КЭШа для IOS

3. Очистка кэша для Windows Phone:

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

Но, это может принести некоторые неудобства.

Например, при использовании сайтов, на которых надо входить в аккаунт.

Для этого необходимо:

Что такое error 502 с точки зрения сервера

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

DDoS (хакерская атака) что это и к каким последствиям ведет

1. DoS (Denial of Service)— это направленная атака на систему. Целью является сбой в работе.

Если говорить простым языком, то на сервер искусственно создается такая нагрузка, при которой пользователи не в состоянии получить доступ к ресурсам.

2. DDoS (Distributed Denial of Service).

Пример атаки DDoS

Также атака на систему, которая отправляется с очень большого количества компьютеров.

Цель в данном случае такая же. Привести систему к нерабочему состоянию.

Каждое устройство отправляет большое количество пакетов с запросами к ресурсу.

Их количество очень большое. Настолько, что на обработку и отправку ответов растрачивается весь ресурс системы.

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

Вследствие этого, пользователи теряют возможность зайти на сервер или подключиться к сайту.

Это тот самый случай, когда на своем экране пользователь видит error 502 Bad Gateway.

3. Для собственника ресурса это чревато недополучением прибыли, так как система простаивает.

4. Меры по предупреждению DdoS. Для защиты сервера используют различные инструменты.

Для этого необходимо перейти в каталог /usr/local/etc/httpd/conf. Там необходимо отредактировать 3 файла:

Перед редактированием необходимо создать резервные копии. Для этого в командной строке консоли необходимо ввести команду

Следом сразу же указать полное имя файла, который будет копироваться. И, через пробел, написать название файла-копии.

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

Информация о версии системы повышает шансы злоумышленника на удачную атаку.

Чтобы предотвратить утечку информации о системе нужно использовать данные файла httpd. conf.

5. Если атака уже идет, необходимо проанализировать логии. Благодаря этому определить, кто и в каком направлении ведет атаку. Также определить преобладающий тип трафика. Для этого можно использовать, например, программу tcpdump. Благодаря ей можно узнать какой тип запросов присылается чаще всего, также ip-адреса, с которых они были отправлены.

Когда ip-адреса определены точно, их необходимо заблокировать.

Существуют также специальные платные системы защиты.

Например:

Действия администратора сайта в случае ошибки error 502

Как правило, ошибка error 502 Bad Gateway отправляется системой ngnx.

То есть, ngnx используется как frontend сервера и php-fpm или apache в качестве backend сервера.

В данном случае backend-сервер отказал и надо сделать его вновь работоспособным. Чтобы быстро восстановить обслуживание, рекомендуется:

1. Перезагрузить Apache или php-fpm. Он может подвисать из-за слишком большой нагрузки.

Apache

2. Проверить, как работают вспомогательные службы (MySQL и Memcached). В редких случаях они могут стать причиной появления ошибки 502 Bad Gateway.

3. Если какой-либо из сервисов не запускается, необходимо проверить достаточно ли свободного места на диске сервера. Сделать это можно при помощи команды df-h. Если места недостаточно, необходимо в срочном порядке его освободить и перезагрузить все службы.

4. Узнать степень загрузки сервера, используя команду top. Если показатель la слишком высокий (больше 10), то необходимо выполнить перезагрузку сервера полностью. Для этого использовать команду reboot.

5. Необходимо следить за своевременным обновлением всех файлов сайта (плагинов и тем).

6. Также проводить аудит серверного программного обеспечения и вовремя обновлять модули.

Рекомендации

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

2. Если ошибка error 502 появляется регулярно, необходимо проверить, как настроены лимиты на количество php — cgi процессов. Их неправильная настройка приводит к нестабильному состоянию сервера.

3. При возможности, уменьшить больше количество запросов к внешним ресурсам сети. Установить в настройках ограничения для их загрузки и на время их ответа. Это поможет выявить проблему. Далее нужно принять меры для ее решения.

4. Если сайт размещается на виртуальном хостинге (рис.9) и есть основания сомневаться в правильной настройке конфигураций сайта. Либо все очень похоже на оверселлинг. В таком случае, стоит подумать о смене хостинга.

Error 502 (Bad Gateway) – что это? 10 способов исправить ошибку

5. Если данная ошибка возникает не у пользователя, а у владельца сайта, необходимо обратиться к техподдержке хостинг — провайдера для устранения ошибки.

Выводы

В случае появления error 502 Bad Gateway следует помнить, что это не вирус и данная ошибка не представляет опасности для устройства пользователя.

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

Исходя из вывода, предпринимать необходимые действия.

Для владельцев сайтов или серверов, позаботиться о безопасности.

А также обеспечить систему необходимым объемом оперативной памяти и ресурса.

Источники:

https://droidov. com/502-bad-gateway-kak-ispravit

https://pomogaemkompu. temaretik. com/1635602190488570224/error-502-bad-gateway—chto-eto-10-sposobov-ispravit-oshibku/

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Closed

MartiniMoe opened this issue

Feb 12, 2020

· 8 comments

Assignees

@MartiniMoe

Comments

@MartiniMoe

When uploading huge files (> 4GB) via the webinterface the following error occurs after the upload finished:
Error when assembling chunks, status code 502
I’ve found hints changing the PHP timeout etc, but I dont know how to do that with the docker-compose.yml

@ouissla

Hi, I have the same issue here. Did you manage to solve this problem?
In my case I get the 502 when trying to assemble 38 chunks of 100Mb each. I have already set a high memory limit, increased all possible timeout related values, and still the script returns a 502 after 3 seconds.

@jorisbaiutti

I have the same issue, but already with 1GB Files. I use S3 storage as the primary storage. Without S3 it works fine.
The weird thing is though, that the file is uploaded completely after page refresh. I also can see it in the S3 Storage. While uploading it stores 10MB chunks, after page refresh there is a 1GB file.

@killarbyte

any luck of getting things to work out of the box ?

@jorisbaiutti

@supermar1010

@jorisbaiutti I have the same problem, just that it sometimes doesn’t store the file/reports the wrong size
@ouissla How did you increase these limits? I’m using the conteainer with the apache inside

@sebastiansterk

Having the exact same issue.
Steps to reproduce:

  • Nextcloud 20 or 21 docker image
  • Configure S3 as primary storage according to the nextcloud documentation
  • upload a 5GB file
    —> Error when assembling chunks, status code 502

@sebastiansterk

Guys, I was able to fix the issue.
The problem is that when the upload finished, Nextcloud is trying to assemble the chunks. The frontend sends a MOVE request to the Nextcloud server, this request runs in a timeout. The default timeout for ProxyTimeout is the value of Timeout. Default value is set to 60 seconds.
In this case, nextcloud cannot finish assembling the chunks within the defined timeout of your Reverse Proxy.
To fix this issue you have to increase the ProxyTimeout and/or Timeout of your reverse proxy that is routing the requests to your nextcloud docker container.
I’m using apache, so adding the following part to my httpd.conf fixed the issue for me (restart of apache is required):

Timeout 2400
ProxyTimeout 2400

@MartiniMoe

Thanks a lot!
Guess this can get closed then :)

И необязательно чтобы вы использовали Nginx в качестве прокси для доступа к сети. Нет, для работы большинства сайтов требуется генерация динамического контента, например, на php. Поэтому Nginx часто выступает в прокси для Apache или php-fpm. В этой статье мы рассмотрим что означает 502 bad gateway Nginx, как исправить ее.

Что означает 502 bad gateway Nginx

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

Вот основные причины:

Как исправить ошибку 502 bad gateway Nginx

1. Анализ логов и перезапуск

Это уже должно дать вам некоторые подсказки что делать дальше. Еще в первую очередь не помешает проверить файл конфигурации Nginx на ошибки:

Допустим, у нас в качестве шлюза для генерации динамического содержимого используется php-fpm. Тогда нужно проверить запущен ли вообще этот сервис:

Если все процессы уже запущены, попробуйте перезапустить их с помощью systemd:

sudo systemctl restart php-fpm

Если процесс остановлен, то его нужно запустить:

sudo systemctl start php-fpm

Это самая распространенная причина, вызывающая ошибку 502 Bad Gateway и обычно после перезапуска сервиса все будет работать, вам осталось выяснить только почему он завершился. В этом вам может помочь просмотр лога php-fpm:

Но если такой рецепт не помог, и ошибка 502 bad gateway nginx нужно идти дальше. Внимательно пересмотрите лог, возможно, там уже есть ответ.

2. Доступность php-fpm и владелец

Также эта ошибка может возникать при проблемах доступа к файлу сокета php-fpm, например, когда этот файл называется по другому или для него выставлены неверные права. Сначала убедитесь, что в конфигурационном файле /etc/nginx/nginx. conf указан правильный адрес файла сокета php-fpm:

.php$ <
fastcgi_pass unix:/var/run/php7.0-fpm. sock;
include fastcgi_params;
>

Файл /var/run/php7.0-fpm. sock должен действительно существовать в файловой системе. Дальше нужно убедиться, что у сокета правильный владелец, это должен быть тот же пользователь, от имени которого запускается Nginx, группа тоже должна соответствовать. Откройте файл /etc/php7.0/fpm/pool. d/www. conf и найдите строчки user и group. Они должны иметь такое же значение, как строчка user в конфиге nginx. conf:

listen = /var/run/php7.0-fpm. sock
listen. owner = www-data
listen. group = www-data

После того как выставите правильные параметры, перезапустите сервисы:

sudo service php5-fpm restart
$ sudo service nginx restart

3. Время отклика и размер буфера

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

sudo vi /etc/nginx/nginx. conf

http <
.
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
.
>

Выводы

В этой статье мы рассмотрели 502 bad gateway nginx что это значит и как исправить эту ошибку. Как видите, может быть достаточно много причин ее возникновения, но решить все достаточно просто если внимательно посмотреть логи и понять в чем там действительно проблема. Надеюсь, информация была полезной для вас.

Ошибка 502 bad gateway – что это значит и как исправить

Иногда вместо сайта в браузере появляется страница с ошибкой. Рядом с сообщением об ошибке часто приведен код, который поможет распознать и устранить неисправность. Разберемся с кодом 502 bad gateway – что же это значит, и как зайти на нужный сайт.

Причины ошибки

Что означает код ошибки 502? Он сообщает о «плохом шлюзе» – сервер, на котором размещен нужный вам интернет-ресурс, при обращении вернул некорректный ответ. Это происходит из-за избыточной нагрузки – шлюз не может обработать поступивший запрос и не отправляет нужные данные.

Браузер с ошибкой 502

Обычно ошибка 502 bad gateway возникает, если:

Есть и другие причины возникновения ошибка 502 – проблемы с адресом DNS или прокси-сервером. В любом случае, эта неисправность не зависит от компьютера пользователя и его настроек.

Как исправить

При появлении 502 bad gateway – как же исправить проблему? Полностью устранить ошибку на удаленном сервере вы не сможете, но ряд действий может помочь получить доступ на сайт:

Очистка кэша в Хроме

Из-за кэшированных и временных файлов вы можете видеть ошибку даже тогда, когда на сервере она уже устранена. Чтобы удалить cookies, заходите в настройки браузера:

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

Заключение

Мы разобрались, что такое ошибка 502 в браузере и как поступить для ее устранения. Помогут простые действия – обновление страницы, очистка временных файлов. Если ничего не помогло – зайдите на ресурс чуть позже, когда он не будет перегружен.

Источники:

https://losst. ru/chto-znachit-502-bad-gateway-nginx

https://droidov. com/502-bad-gateway-kak-ispravit


    • #1

    Hi Everyone,

    I am facing this issue when I’m trying to upload bigger files to my NextCloud. I definitely need to have the possibility to upload bigger files as I need to share files for video editing — it’s not uncommon to have 20GB+ files. How can I solve this issue? I saw some forum posts where they are talking about an apache issue but that shouldn’t be relevant to me. Not sure what information you need so I attached some screenshots to have some info about the system.

    1. Running containers in Portainer

    2. Basic system info (CPU, Kernel, etc.)

    3. File systems

    4. Disks

    • Offizieller Beitrag
    • #2
    • #3

    Thanks for the links, I checked them out but I’m not sure what to do with it to be honest. It seems like I will have some help during the weekend and hopefully he is going to help me figuring out what to do. I suspect I have some issues with encryption. I basically just want to turn it off but unfortunately it’s not as easy as it is to turn it on.

    • #4

    Maybe look at «step 9» at https://www.linuxbabe.com/ubun…tu-20-04-nginx-lemp-stack. Modify the size according to your needs. Maybe the files are in different locations, but if you look at the instructions above of the guide, you should be able to understand what should be in the files (i.e. how they should look like to know if you are working on the correct file).

⚠️ This issue respects the following points: ⚠️

  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I’ve searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • I agree to follow Nextcloud’s Code of Conduct.

Bug description

Upload a file, say 400 MB. After upload progress bar completes, there is a Processing files step. After a minute or so, there is this error message Error when assembling chunks, status code 504 . Eventually, the file is uploaded and would show up in the web interface, yet, there is this error. Depending on the size of the file, clamscan takes 100% of the CPU.
Doesnt occur with smaller files say few MBs.

Nextcloud error

Steps to reproduce

  1. Upload a file, say 400 MB and wait the upload progress bar completes,
  2. Wait for the Processing files step
  3. After a minute or so, there is this error message Error when assembling chunks, status code 504
  4. Although the error message, the file is uploaded eventually after several minutes, depending on the file size. During this period all CPU time is taken by clamav

Expected behavior

No error message.

Installation method

Official All-in-One appliance

Operating system

Debian/Ubuntu

PHP engine version

PHP 7.4

Web server

Apache (supported)

Database engine version

PostgreSQL

Is this bug present after an update or on a fresh install?

Updated to a major version (ex. 22.2.3 to 23.0.1)

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO — SAML
  • Other

Configuration report

## Server configuration detail

**Operating system:** Linux 5.4.0-107-generic #121-Ubuntu SMP Thu Mar 24 16:04:27 UTC 2022 x86_64

**Webserver:** Apache (fpm-fcgi)

**Database:** pgsql PostgreSQL 12.9 (Ubuntu 12.9-0ubuntu0.20.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, 64-bit

**PHP version:** 7.4.3

Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, sodium, cgi-fcgi, PDO, xml, apcu, bcmath, bz2, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, imagick, imap, intl, json, ldap, exif, pdo_pgsql, pgsql, apc, posix, readline, shmop, SimpleXML, soap, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, zip, Phar, Zend OPcache

**Nextcloud version:** 23.0.3 - 23.0.3.2

**Updated from an older Nextcloud/ownCloud or fresh install:** 

**Where did you install Nextcloud from:** unknown

<details><summary>Signing status</summary>

Array
(
)

</details>

<details><summary>List of activated apps</summary>


Enabled:
 - accessibility: 1.9.0
 - activity: 2.15.0
 - admin_audit: 1.13.0
 - afterlogic: 2.0.3
 - analytics: 4.2.1
 - announcementcenter: 6.1.1
 - appointments: 1.12.2
 - apporder: 0.15.0
 - calendar: 3.2.2
 - checksum: 1.1.3
 - circles: 23.1.0
 - cloud_federation_api: 1.6.0
 - cms_pico: 1.0.18
 - comments: 1.13.0
 - contacts: 4.1.0
 - contactsinteraction: 1.4.0
 - dashboard: 7.3.0
 - dav: 1.21.0
 - deck: 1.6.1
 - event_update_notification: 1.5.0
 - external: 3.10.2
 - federatedfilesharing: 1.13.0
 - federation: 1.13.0
 - files: 1.18.0
 - files_antivirus: 3.2.2
 - files_external: 1.15.0
 - files_pdfviewer: 2.4.0
 - files_rightclick: 1.2.0
 - files_sharing: 1.15.0
 - files_trashbin: 1.13.0
 - files_versions: 1.16.0
 - files_videoplayer: 1.12.0
 - firstrunwizard: 2.12.0
 - forms: 2.5.0
 - fulltextsearch_elasticsearch: 23.0.0
 - groupfolders: 11.1.2
 - integration_onedrive: 1.1.2
 - logreader: 2.8.0
 - lookup_server_connector: 1.11.0
 - maps: 0.1.10
 - music: 1.5.1
 - nextcloud_announcements: 1.12.0
 - notes: 4.3.1
 - notifications: 2.11.1
 - oauth2: 1.11.0
 - onlyoffice: 7.3.2
 - password_policy: 1.13.0
 - photos: 1.5.0
 - privacy: 1.7.0
 - provisioning_api: 1.13.0
 - ransomware_protection: 1.12.0
 - recommendations: 1.2.0
 - serverinfo: 1.13.0
 - settings: 1.5.0
 - sharebymail: 1.13.0
 - support: 1.6.0
 - survey_client: 1.11.0
 - systemtags: 1.13.0
 - tasks: 0.14.4
 - text: 3.4.1
 - theming: 1.14.0
 - twofactor_backupcodes: 1.12.0
 - twofactor_totp: 6.2.0
 - unsplash: 1.2.4
 - updatenotification: 1.13.0
 - user_retention: 1.6.0
 - user_status: 1.3.1
 - viewer: 1.7.0
 - weather_status: 1.3.0
 - workflow_script: 1.8.0
 - workflowengine: 2.5.0
Disabled:
 - encryption
 - user_ldap

Configuration (config/config.php)

{
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "localhost",
        "*.*.*.*",
        "nextcloud",
        "www.cloudcreator.eu"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "pgsql",
    "version": "23.0.3.2",
    "overwrite.cli.url": "https://nextcloud/",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "log_type": "file",
    "logfile": "/var/log/nextcloud/nextcloud.log",
    "loglevel": "2",
    "log.condition": {
        "apps": [
            "admin_audit"
        ]
    },
    "mail_smtpmode": "smtp",
    "logtimezone": "Europe/Brussels",
    "maintenance": false,
    "updater.release.channel": "stable",
    "memcache.local": "\OC\Memcache\APCu",
    "default_phone_region": "BE",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_sendmailmode": "smtp",
    "mail_smtpauthtype": "LOGIN",
    "mail_smtpauth": 1,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "25",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "theme": ""
}

Cron Configuration: Array
(
[backgroundjobs_mode] => cron
[lastcron] => 1649751002
)

External storages: yes

External storage configuration

Encryption: no

User-backends:

  • OCUserDatabase

Browser: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0



### List of activated Apps

```shell
<details><summary>List of activated apps</summary>


Enabled:
 - accessibility: 1.9.0
 - activity: 2.15.0
 - admin_audit: 1.13.0
 - afterlogic: 2.0.3
 - analytics: 4.2.1
 - announcementcenter: 6.1.1
 - appointments: 1.12.2
 - apporder: 0.15.0
 - calendar: 3.2.2
 - checksum: 1.1.3
 - circles: 23.1.0
 - cloud_federation_api: 1.6.0
 - cms_pico: 1.0.18
 - comments: 1.13.0
 - contacts: 4.1.0
 - contactsinteraction: 1.4.0
 - dashboard: 7.3.0
 - dav: 1.21.0
 - deck: 1.6.1
 - event_update_notification: 1.5.0
 - external: 3.10.2
 - federatedfilesharing: 1.13.0
 - federation: 1.13.0
 - files: 1.18.0
 - files_antivirus: 3.2.2
 - files_external: 1.15.0
 - files_pdfviewer: 2.4.0
 - files_rightclick: 1.2.0
 - files_sharing: 1.15.0
 - files_trashbin: 1.13.0
 - files_versions: 1.16.0
 - files_videoplayer: 1.12.0
 - firstrunwizard: 2.12.0
 - forms: 2.5.0
 - fulltextsearch_elasticsearch: 23.0.0
 - groupfolders: 11.1.2
 - integration_onedrive: 1.1.2
 - logreader: 2.8.0
 - lookup_server_connector: 1.11.0
 - maps: 0.1.10
 - music: 1.5.1
 - nextcloud_announcements: 1.12.0
 - notes: 4.3.1
 - notifications: 2.11.1
 - oauth2: 1.11.0
 - onlyoffice: 7.3.2
 - password_policy: 1.13.0
 - photos: 1.5.0
 - privacy: 1.7.0
 - provisioning_api: 1.13.0
 - ransomware_protection: 1.12.0
 - recommendations: 1.2.0
 - serverinfo: 1.13.0
 - settings: 1.5.0
 - sharebymail: 1.13.0
 - support: 1.6.0
 - survey_client: 1.11.0
 - systemtags: 1.13.0
 - tasks: 0.14.4
 - text: 3.4.1
 - theming: 1.14.0
 - twofactor_backupcodes: 1.12.0
 - twofactor_totp: 6.2.0
 - unsplash: 1.2.4
 - updatenotification: 1.13.0
 - user_retention: 1.6.0
 - user_status: 1.3.1
 - viewer: 1.7.0
 - weather_status: 1.3.0
 - workflow_script: 1.8.0
 - workflowengine: 2.5.0
Disabled:
 - encryption
 - user_ldap

«`

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

https://www.cloudcreator.eu/index.php/s/4yj4bQTiHqqdntB

Additional info

No response

docker-compose + linuxserver + wireguard

Сегодня будем поднимать облако NextCloud в докер контейнере. Получив в результате отличную альтернативу всяким проприетарным продуктам типа яндекс диск, облако mail.ru, Dropbox, Google диск и т.д.

Необходимые требования

Чтобы всё получилось нам понадобится:

  • Сервер с Root доступом. Рекомендую вот этот
  • Доменное имя. Можно бесплатный домен или поддомен
  • Установленный Docker + Docker-Compose
  • Установленный и настроенный Nginx Proxy Manager
  • 30 — 45 минут времени

Бесплатный.

Умеет шифровать данные.

Умеет синхронизировать фаилы и папки.

Умеет работать по протоколу сетевой файловой системы WebDAV.

Обладает большим количеством плагинов и дополнений. Есть например плагин для хранения и структурирования ссылок под названием Bookmarks. Плагин аудиоплеер. Плагин для ведения базы паролей. Плагин для редактирования контактов — имена, номера телефонов, почта, дополнительные поля с быстрым поиском. Даже книга с рецептами присутствует)

Кроссплатформенный. Изначально работает в браузере, а так же существуют клиенты под Windows, Linux, MacOS, Android, iOS. Скачать клиент под необходимое п.о. можно отсюда.

Имеет очень гибкую систему управления пользователями и группами. Такой функционал очень пригодится бизнесу, можно разграничивать разные отделы и иметь полный контроль над всем.

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

Подготовка

Как и в предыдущих статьях про докер контейнеры мы будем придерживаться правила — хранить все контейнеры в одном месте. Создаём необходимые директории для Nextcloud

sudo mkdir -p /app/nextcloud/nextcloud/{apps,config,data}

Сделаем нашего пользователя (не root !) владельцем этой директории

sudo chown -R $USER:$USER /app/nextcloud/

Конфигурация и запуск

Перейдём в директорию, которую мы создавали выше

cd /app/nextcloud

Создадим фаил docker-compose.yml

nano docker-compose.yml

И заполняем его таким таким содержанием. Данный конфиг подойдёт сразу под amd64 и arm64 архитектуры.

В конфиге обязательно обращаем внимание на строки PUID и PGID. Если нам это нужно, то в них мы можем вписать идентификатор пользователя и группы, от которого хотим запускать контейнер!

Для этого их необходимо раскомментировать. А сами ID можно посмотреть написав в терминале:

id

Самые распространённые идентификаторы 1000 и 1001

Следующим шагом мы придумываем логин и пароль для базы данных. И вписываем их в этот кусок конфига

— POSTGRES_DB=nextcloud
— POSTGRES_USER=nextcloud
— POSTGRES_PASSWORD=YOURPASSWORD

Далее. Если это необходимо, то можно изменить название сервиса базы данных postgres-nextcloud на любое угодное. Мы его потом будем вписывать при установке вместо localhost!

С настройкой закончили. Сохраняем конфиг.

Я советую периодически проверять DockerHub на наличие новых версий. На момент написания статьи актуальная версия была
nextcloud:23.0.1

Стартуем контейнер с NextCloud

sudo docker-compose up -d

Выхлоп в терминале должен быть как на скрине ниже.

nextcloud container good start

Подключаем домен

Пришло время подключить домен к облаку. Делать это будем при помощи Nginx Proxy Manager, о котором я писал недавно в одноимённой статье.

В Nginx Proxy Manager(далее NPM) создаём новый хост. Заполняем необходимую информацию.

  • Домен либо поддомен
  • Ip адрес
  • Порт — 13370 (если вы не меняли его в docker-compose.yml)

nextcloud npm domain

Нажимаем Save и ждём примерно 60 секунд.

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

На этот раз отправляемся в раздел SSL в котором запрашиваем новый ssl сертификат для нашего домена — Request a new SSL Certificate

nextcloud npm add ssl to host

nextcloud npm add ssl to host 2

И нажимаем кнопку Save

Обратите внимание, что после нажатия кнопки Save не должно быть никаких ошибок. Если у вас всё же были какие то ошибки, скорее всего это связано с тем что у вас не успели обновиться записи в DNS, либо вы превысили лимиты(количество попыток) LetsEncrypt. В обоих случаях надо просто подождать и повторить попытку позже.

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

Мы должны увидеть страницу установки NextCloud

nextcloud start install

Придумываем комбинацию из сложного логина и пароля для администратора облака и вписываем в соответствующие поля.

Так как мы хотим использовать PostgreSQL вместо SQLite, то нам нужно явно указать это. Для этого нажимаем Хранилище и база данных

Откроется окно с дополнительными настройками.

Каталог с данными /Data оставляем по умолчанию.

Выбираем пункт PostgreSQL. Нам необходимо вписать туда свои данные, которые находятся в фаиле docker-compose.yml.

nextcloud db select

Обратите внимание на пункт Хост базы данных, в котором по стандарту уже вписано localhost. В самом начале я говорил что можно поменять название сервиса для базы данных. Если вы меняли его то вписывайте своё название, если не меняли то вместо localhost вписывайте postgres-nextcloud

Внимательно проверяем корректность заполненных данных.

По желанию включаем или выключаем пункт Установить рекомендуемые приложения.

Нажимаем кнопку Завершить установку.

nextcloud install

После установки нас перекидывает на страницу приветствия.

nextcloud install succsess

На этом установку NextCloud можно считать выполненной успешно.

Тюнинг NextCloud

Наверняка вы замечали что если в админ панели, пойти в Настройки во вкладку Система и пролистнуть до версии php то там выставлены ограничения.

nextcloud tuning before

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

Останавливаем контейнер

sudo docker-compose down

В папке рядом с docker-compose.yml создадим фаил nextcloud.ini

nano nextcloud.ini

С таким содержанием (подправьте под ресурсы вашего сервера!)

upload_max_filesize=16G
post_max_size=16G
memory_limit=2G
max_input_time 7200
max_execution_time 7200

Отлично, фаил добавили, теперь необходимо раскомментировать его же в docker-compose.yml

nano docker-compose.yml

просто убираем комментарий и приводим из такого вида

# — ./nextcloud.ini:/usr/local/etc/php/conf.d/nextcloud.ini

к такому виду

— ./nextcloud.ini:/usr/local/etc/php/conf.d/nextcloud.ini

Сохраняем. И стартуем

sudo docker-compose up -d

Проверяем

nextcloud tuning after

Теперь облако работает шустрее за счёт увеличения лимитов по оперативной памяти. Также мы увеличили время выполнения php скриптов. И увеличили размер максимально загружаемого фаила до 16 GB

Возможные проблемы

Иногда бывает что с релизами версия Php меняется. У некоторых неофициальных образов месторасположение папки с Php находится вообще в другом месте. В таком случае нам необходимо узнать точное расположение папки.

Для этого зайдём внутрь нашего контейнера

sudo docker exec -it nextcloud-23 bash

Находясь внутри контейнера пробуем попасть в папку с Php

cd /usr/local/etc/php/conf.d/

В некоторых неофициальных образах Nextcloud пхп находится тут: (напомню в данной статье мы ставим официальный образ)

cd /etc/php*

Далее действуем исходя из полученных результатов. Прописываем полный путь до папки с Php в docker-compose.yml если он у вас отличается. И далее всё заработает как надо.

Подключаем Redis

Наверняка вы заметили его в docker-compose.yml в самом низу.

Находясь в папке рядом с docker-compose.yml останавливаем наш контейнер

sudo docker-compose down

Редактируем фаил docker-compose.yml

nano docker-compose.yml

Тут нам нужно убрать комментарии из строк (поменяв пароль на свой)

— REDIS_HOST=redis-nextcloud
— REDIS_HOST_PASSWORD=YOURREDISPASSWORD

а так же полностью расскоментировать сервис redis-nextcloud

Пароль должен быть такой же как в предыдущих строчках которые мы раскомментировали:

redis-nextcloud:
  image: redis:alpine
  container_name: redis-nextcloud
  command: redis-server —requirepass YOURREDISPASSWORD
  restart: unless-stopped

Вновь стартуем наш контейнер

sudo docker-compose up -d

Для того чтобы мы могли проверить работу Redis, поставим необходимые пакеты

sudo apt install redis-tools

Проще всего проверить работу Redis, обратившись к нему по внутреннему адресу. Для этого сначала напишем

sudo docker ps

и найдём там id’шник redis или его имя. В нашем случае имя redis-nextcloud. Используем это имя в следующей команде:

sudo docker inspect redis-nextcloud

nextcloud redis host ip

Тут нас интересует секция IPAddress»: XXX.XXX.XXX.XXX» она находится почти в самом низу.

Каждый раз этот ip будет разный. В моём случае это оказался 172.27.0.2

обратимся к нашему инстансу редиса по этому ip используя пароль который мы ему задавали

redis-cli -a YOURREDISPASSWORD -h 172.27.0.2 ping

nextcloud redis host ping

В ответ мы получим PONG

Теперь посмотрим как общаются Nextcloud и Redis

redis-cli -a YOURREDISPASSWORD -h 172.27.0.2 monitor

nextcloud redis host monitor ok

Ответ должен быть OK

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

nextcloud redis host monitor data

На этом подключение Redis успешно завершено

Включаем принудительный режим https

Некоторые плагины требуют чтобы у нас был включен принудительный режим https. Например плагин для хранения паролей passwords.

Останавливаем контейнер

sudo docker-compose down

Теперь необходимо отредактировать фаил …/nextcloud/config/config.php

sudo nano nextcloud/config/config.php

После второй строки вставляем строку

‘overwriteprotocol’ => ‘https’,

Внимательно, соблюдая отступы, там по 2 пробела в начале каждой новой строки. Должно получиться вот так:

nextcloud overwriteprotocol https

Стартуем наш контейнер и проверяем что всё ок

sudo docker-compose up -d

nextcloud passwords no error

Увеличиваем размер чанков

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

Error when assembling chunks, status code 504

Судя по тикету на гитхабе — его не могут зафиксить уже несколько лет.

Покопавшись, вроде получилось его побороть. Дело в том что NextCloud из коробки делит фаилы на чанки(chunks). По стандарту размер одного чанка равен 10 MB

Когда мы грузим большой фаил, видимо всё упирается в производительность диска и таймауты php и что то не срабатывает как надо.

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

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ config:app:set files max_chunk_size —value 20971520

Тут необходимо вместо nextcloud-23 вписать имя вашего контейнера с NextCloud. Вот так:

nextcloud increase chunk size

Я пробовал на фаиле в 4 GB и данное сообщение не появлялось, однако, на фаиле в 8 GB оно появлялось, но через какое то время фаил всё равно загружался и был полностью рабочим.

Чиним cron

Nextcloud использует специальный фаил cron.php для того чтобы инициировать такие процессы как сканирование фаилов, музыки, очистку мусора и другие. Желательно выполнять этот фаил каждые 5-10 минут.

Используя NextCloud в докере из коробки к сожалению эта фича не работает и приходится использовать режим AJAX, который выполняет фаил cron.php при загрузке каждой страницы. Это создаёт дополнительную нагрузку на сервер.

Мы делегируем выполнение этого функционала, штатному cron. Для этого сначала установим его

sudo apt install cron

Проверим что он запущен и работает

sudo systemctl status cron

nextcloud cron runing

Мы будем запускать наше задание от root поэтому пишем

sudo crontab -e

В самую нижнюю строчку добавляем наше задание

*/5 * * * * sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/cron.php

nextcloud crontab -e

Сохраняем и выходим. Ждём 5 минут и проверяем результат

nextcloud cron success

Обновление Nextcloud

Периодически для Nextcloud выходят обновления, рассмотрим как правильно обновиться.

Внимание! Все обновления Nextcloud стоит делать последовательно, не перескакивая через версию. Например если у Вас была версия 21.x.x то чтобы обновиться на версию 23.x.x необходимо сначала обновить nextcloud до версии 22.x.x и только потом уже до 23.x.x !

Переходим в директорию с nextcloud

cd /app/nextcloud

Тушим контейнер

sudo docker-compose down

Посмотрим на структуру фаилов и директорий

ls

nextcloud update filestructure

Создаём папку, куда свалим нашу предыдущую рабочую версию

mkdir old

Скопируем в эту директорию все фаилы от предыдущей рабочей версии

sudo cp -r DB docker-compose.yml nextcloud nextcloud.ini old

Редактируем фаил docker-compose.yml заменив в нём версию образа nextcloud на более новую. Версии можно посмотреть в DockerHub

nano docker-compose.yml

nextcloud update compfile

Поднимаем контейнер с новой версией

sudo docker-compose up -d

Открываем Nextcloud в браузере. Нас приветствует мастер обновления.

nextcloud update wizard

Запускаем обновление

nextcloud update wizard 2

Ожидаем какое то время. В результате визард предложит перейти в nextcloud, что завершит процедуру обновления.

nextcloud update wizard 3

Кстати на скрине видно что были отключены некоторые плагины. В действительности после того как я перешёл в облако, все эти плагины были включены и работали, несмотря на то что в сообщении написано что они не совместимы.

Обновление на новую версию завершено.

Полезные команды

Рассмотрим специальные служебные команды для NextCloud. Все эти команды подаются в качестве параметров на occ.php

Во всех приведённых ниже командах не забудьте заменить имя контейнера nextcloud-23 на своё

Плагины

Отобразить список плагинов

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:list

Установить плагин

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:install files_mindmap

Удалить плагин

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:remove files_mindmap

Включить плагин. Например Activity

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:enable activity

Отключить плагин. Например Activity

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:disable activity

Обновить все плагины (либо вместо —all указать нужный плагин)

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:update —all

Получить полный путь папки с плагином. Например плагина Mind Map

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ app:getpath files_mindmap

Пользователи

Отключить юзера

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ user:disable testuser

Включить юзера

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ user:enable testuser

Удалить юзера

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ user:delete testuser

Etc

Произвести сканирование на предмет наличия новых фаилов

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ files:scan —all

Произвести поиск недостоющих индексов в бд

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ db:add-missing-indices

Включить режим обслуживания

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ maintenance:mode —on

Отключить режим обслуживания

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ maintenance:mode —off

Отобразить список доверенных доменов

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ config:system:get trusted_domains

Добавить доверенный домен. В поле value вписываем ip либо домен

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/occ config:system:set trusted_domains 2 —value=http://127.0.0.1

Выполнить cron.php

sudo /usr/bin/docker exec -u www-data nextcloud-23 php -f /var/www/html/cron.php

Остальные команды можно найти тут

На этом всё. Все молодцы кто до сюда дошёл и у кого всё получилось!

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

Ошибка 502 Bad Gateway: что значит

Файлы любого сайта находятся на физическом сервере. Чтобы их получить и отобразить веб-ресурс на компьютере, браузер делает запрос на сервер. Если он по какой-либо причине не передал файлы, появляется ошибка 500-511.

Ошибка 502 Bad Gateway возникает при неправильной работе прокси-сервера, DNS-сервера и чаще всего сервера, на котором размещён сайт. Проблема может распространяться как на весь ресурс, так и на отдельные страницы. Это зависит от характера проблемы. Существуют разновидности 502 ошибки: Bad Gateway Nginx, Bad Gateway Apache. Об их отличиях мы расскажем ниже. Также эта ошибка может иметь формулировки:

  • Bad Gateway: Registered endpoint failed to handle the request, Temporary Error (502),
  • Error 502,
  • Bad 502 Gateway,
  • 502 Error,
  • 502. That’s an error,
  • 502 Service Temporarily Overloaded,
  • 502 Server Error: The server encountered a temporary error and could not complete your request,
  • 502 – Web server received an invalid response while acting as a gateway or proxy server,
  • 502 Bad Gateway Nginx,
  • 502 Proxy Error,
  • HTTP 502,
  • HTTP Error 502 Bad Gateway.


Что значит плохой шлюз: ошибка 502

Причины возникновения ошибки 502 Bad Gateway

  1. Первая и основная причина ― перегрузка сервера. Перегрузка может быть вызвана несколькими проблемами:

  2. Большое количество посетителей одновременно. Веб-ресурс может посещать ограниченное количество посетителей. Сколько человек может посетить сайт зависит от возможностей сервера (размера оперативной памяти) и настроек, которые сделал создатель ресурса. Если по какой-либо причине на сайт зайдёт больше пользователей, чем запланировано, сервис может не справиться и страница выдаст код 502. Такое случается при рекламных акциях и распродажах в интернет-магазинах.
  3. Атака хакеров или DDoS-атака. Эта проблема связана с предыдущей причиной перегрузки. Хакер имитирует большой наплыв пользователей, из-за чего сервер выходит из строя. Такие атаки могут быть использованы для снижения продаж.
  4. Плохая оптимизация сайта. Настройки ресурса сделаны так, что маленькое количество посетителей генерирует много запросов. В этом случае нужно оптимизировать работу сервера с пользовательскими запросами.
  5. Второй причиной возникновения кода 502 могут явиться ошибки РНР. Если для расширения функционала сайта в панель управления были добавлены некорректно настроенные плагины, они могут выдавать проблемы в своей работе. Вместе с ними ошибку покажет и сайт целиком. Также если код сайта написан неправильно, запросы могут давать отрицательный результат.
  6. Ошибка браузера. Проблема может быть на стороне пользователя, если у него установлены расширения, которые нарушают соединение с сервером сайта.

Чем отличается ошибка 502 Bad Gateway Nginx

Между браузером и сервером может стоять веб-сервер. Он используется для снижения нагрузки на сервер, аутентификации пользователей и многого другого. Самые популярные программы для создания веб-сервера ― Nginx и Apache. Так как веб-сервер является посредником между браузером и сервером, то именно он будет оповещать пользователя о проблеме. Поэтому в зависимости от веб-сервера в сообщении вы можете увидеть надпись Bad Gateway Nginx или Bad Gateway Apache. При этом причины возникновения проблемы одинаковы.

Как исправить ошибку 502

Что делать, если вы пользователь

  1. Перезагрузите страницу, если проблема была вызвана наплывом посетителей. Возможно, через некоторое время посетители уйдут со страницы и вы сможете увидеть контент.
  2. Попробуйте зайти на другой веб-ресурс. Если вы можете зайти на другой сайт, значит проблема на стороне владельца ресурса и вы ничего не можете сделать. Вернитесь на страницу позже, когда администратор восстановит доступ.
  3. Проверьте подключение к интернету. Из-за низкой скорости или нестабильности соединения браузер может не получать данные с сервера.
  4. Запустите браузер в режиме «Инкогнито». В режиме «Инкогнито» браузер работает с базовыми настройками. Если вам удалось зайти на веб-ресурс в этом режиме, значит одно из ваших расширений браузера мешает соединению. Это расширение нужно отключить.
  5. Почистите файлы cookies. Если при повторном входе на сайт всё равно отображается ошибка 502, очистите кэш браузера. Возможно, доступ уже восстановлен, но ваш браузер обращается к старой версии страницы из кэша.
  6. Очистите кэш DNS. DNS-кэш — это временная база данных вашего компьютера, которая хранит записи обо всех последних посещениях и попытках посещений веб-сайтов и их IP-адресах. Кэш позволяет ускорить вход на часто посещаемые веб-ресурсы. Если у сайта изменились DNS, а данные из кэша отправляют на старый IP-адрес, в браузере появится код 502. После очистки браузер начнёт обращаться к новому IP-адресу.


Как очистить кэш DNS

В зависимости от вашей операционной системы очистите кэш по одной из инструкций.

  1. Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:
  1. Введите команду:

ipconfig /flushdns

  1. Дождитесь сообщения об очистке кэша:
  1. Откройте терминал клавишами Ctrl+Alt+T.
  2. Введите команду:

Для Ubuntu:

sudo service network-manager restart

Для других дистрибутивов:

sudo /etc/init.d/nscd restart

  1. Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.
  2. Введите команду:

sudo killall -HUP mDNSResponder

Готово, вы очистили кеш DNS. Попробуйте заново зайти на сайт.

Что делать, если вы владелец сайта

Проверьте количество свободной памяти. Это можно сделать двумя способами.

Способ 1 ― введите команду top в командной строке сервера:

Mem ― вся оперативная память.

Swap ― раздел подкачки.

Посмотрите на строку Memfree. Это количество свободного места на сервере. Если там указано маленькое число, ошибка 502 Bad Gateway появляется из-за нехватки памяти. Увеличьте количество оперативной памяти и проблема пропадёт. Также в результатах можно будет увидеть, какую нагрузку на сервер даёт каждый отдельный процесс.

Способ 2 ― введите команду free -m.

Mem ― вся оперативная память.

Swap ― раздел подкачки.

В строке Memfree показано свободное место на сервере. Если там маленькое число, увеличьте количество оперативной памяти.

Проверьте логи сервера. Если проблема возникла в момент каких-либо обновлений на сайте, проверьте журнал изменений, чтобы отменить те доработки, которые нарушили функциональность сервера. Также в логах можно увидеть DDos-атаку. Если дело в нехватке памяти, в логах отобразится ошибка OOM (out of memory).

Проверьте плагины в WordPress. Если ваш сайт создан на WordPress, некоторые плагины и темы могут нарушать работу сервера.

  1. 1.

    Войдите в панель управления WordPress. Если вы пользуетесь услугой REG.Site, войти в панель управления CMS можно прямо из Личного кабинета.

  2. 2.

    Перейдите во вкладку «Плагины» ― «Установленные».

  3. 3.

    Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:

Можно сразу отключить все плагины, чтобы убедиться, что один из них влияет на работу сервера. И далее по очереди включайте плагины, пока не найдёте конкретный плагин-виновник.

Проверьте, как работают вспомогательные службы, например MySQL и Memcached. Иногда они могут стать причиной 502 ошибки.

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


Сайт находится на виртуальном хостинге REG.RU

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

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.


Сайт находится на VPS REG.RU

Чаще всего на VPS используется связка: Nginx + бэкенд-сервер (Apache, PHP-FPM, Gunicorn, NodeJS). Ошибка 502 возникает в случае, если Nginx не может получить ответ от этих сервисов.
Клиенты с VPS сталкиваются с «502 Bad Gateway», когда:

  • какой-то из сервисов выключен. Перезапустите веб-сервер Apache, PHP-FPM либо другой сервис, с которым работает Nginx;
  • между Nginx и бэкенд-сервером некорректно настроена связь. Например, Nginx производит обращение к порту 8080, а веб-сервер Apache «слушает» на 8081. В этом случае необходимо скорректировать настройки веб-сервера.

Если вам не удалось самостоятельно устранить ошибку 502, обратитесь в техподдержку. В заявке укажите:

  1. Точное московское время наблюдения проблемы.
  2. Название сайта, на котором была замечена проблема.
  3. Если ошибка отображается не сразу, а после определённых действий (добавление изображения, отправка формы с сайта, импорт файлов), подробно опишите порядок действий, по которому мы сможем воспроизвести проблему.
  4. Если для воспроизведения проблемы необходимо авторизоваться в административной части сайта, предоставьте логин и пароль для доступа.

Понравилась статья? Поделить с друзьями:
  • Ошибка при розжиге газового котла
  • Ошибка при репликации главное конечное имя неверно
  • Ошибка при рендеринге adobe premiere
  • Ошибка при рендере djvu файла
  • Ошибка при рендере cinema 4d