FAQ. Ошибки "502 Bad Gateway и 504 Gateway Time-out": различия между версиями

Материал из WiKi - UserSide
Нет описания правки
Нет описания правки
 
(не показаны 32 промежуточные версии 2 участников)
Строка 1: Строка 1:
Во время работы, вы можете столкнуться с возникновением ошибки ''''504 Gateway Time-out'''':
[[FAQ._Errors_"502_Bad_Gateway_and_504_Gateway_Time-out"|en]] | [[FAQ._Ошибки_"502_Bad_Gateway_и_504_Gateway_Time-out"|ru]]


[[Файл:504_Gateway_Time-out.png|thumb|1200px|center]]
Во время работы, вы можете столкнуться с возникновением ошибок ''''502 Bad Gateway'''' и ''''504 Gateway Time-out'''':


Данная ошибка - это код состояния HTTP, один из стандартных ответов сервера на запрос браузера.
[[Файл:502_Bad_Gateway.png|thumb|1200px|center]]


Зачастую данная ошибка возникает при выполнении запроса для получения "Списка подключённых ONU/ONT". Длительность его выполнения зависит от колличества ONU находящихся на OLT и может достигать вплоть до 10 минут. Основной причиной возникновения ошибки ''''504 Gateway Time-out'''' являются небольшие (недостаточные) значения для таймаутов.
[[Файл:504_Gateway_Time-out.png|thumb|1000px|center]]


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


Зачастую данные ошибки возникает при выполнении запроса для получения "Списка подключённых ONU". Длительность его выполнения зависит от колличества ONU находящихся на OLT и может достигать вплоть до 10 минут. Но так же может возникать и при других запросах.


'''1) php.ini'''
Основной причиной возникновения ошибок ''''502 Bad Gateway'''' и ''''504 Gateway Time-out'''' являются недостаточные значения для таймаутов.


max_execution_time = xxx
Если, вы при выполнении запроса получили кукую-то из данных ошибок, вам необходио проверить выставленные у вас таймауты в настройках. И изменить их значения до необходимых.
max_input_time = xxx


Для CLI:
Ниже приведены примеры по выполнению их изменения:


/etc/php/[VERSION]/cli/php.ini


Для FPM:
'''1) php.ini и  PHP-FPM Pool'''


/etc/php/[VERSION]/fpm/php.ini
* Далее приведены команды вносящие изменения в файлы конфигурации, увеличивающие таймауты до 180 секунд:


sudo sed -i "s@max_execution_time.*@max_execution_time = 180@" /etc/php/7.4/fpm/php.ini
sudo sed -i "s@max_input_time.*@max_input_time = 180@" /etc/php/7.4/fpm/php.ini
sudo sed -i 's@;request_terminate_timeout.*@request_terminate_timeout = 180@' /etc/php/7.4/fpm/pool.d/www.conf
sudo systemctl restart php7.4-fpm


'''2) PHP-FPM'''


request_terminate_timeout = xxx
После перезапуска службы php-fpm необходимо проверить, что внесенные изменения вступили в силу.


/etc/php[VERSION]/fpm/pool.d/www.conf
Это можно сделать на странице USERSIDE: '''Меню — Настройки — Основная — Разное — phpinfo()'''.




После внесенных именений, '''обязательно''' необходимо перезапустить службу, для того что-бы новые значения применились.
[[Файл:2023-02-24_15-53.png|thumb|1200px|center]]


service php-fpm restart              #Используя service wrapper script


systemctl restart php-fpm.service    #Используя systemd
'''2) NGINX config'''


''* Добавьте '''sudo''', если вы не '''root'''.''
* В настройке server для userside для блока <code>location ~ \.php$</code> необходимо изменить значение увеличивающий таймаут до 180 секунд и перезапустить NGINX:


fastcgi_read_timeout = 180


'''3) NGINX config'''
sudo nginx -t && sudo nginx -s reload


fastcgi_read_timeout = xxx
''* По умолчанию задан такой путь - /etc/nginx/conf.d/default.conf (если использовалась стандартная инструкция при установке).  Отредактируйте значение в необходимом файле конфигурации, если у вас на сервере несколько сайтов и вы производили настройку с данным учетом.''
 
/etc/nginx/conf.d/default.conf  
 
''* По умолчанию данный файл размещается в этом каталоге (если использовалась стандартная инструкция при установке).  Но так же, может быть файл с другим произвольным именем, если у вас на сервере несколько сайтов и вы производили настройку с данным учетом.''
 
 
После внесенных именений, '''обязательно''' необходимо перезапустить службу, для того что-бы новые значения применились.
 
service nginx restart      #Используя service wrapper script
 
systemctl restart nginx    #Используя systemd
 
''* Добавьте '''sudo''', если вы не '''root'''.''

Текущая версия от 18:36, 22 декабря 2023

en | ru

Во время работы, вы можете столкнуться с возникновением ошибок '502 Bad Gateway' и '504 Gateway Time-out':

Данные ошибки - это коды состояния HTTP, один из стандартных ответов сервера на запрос браузера.

Зачастую данные ошибки возникает при выполнении запроса для получения "Списка подключённых ONU". Длительность его выполнения зависит от колличества ONU находящихся на OLT и может достигать вплоть до 10 минут. Но так же может возникать и при других запросах.

Основной причиной возникновения ошибок '502 Bad Gateway' и '504 Gateway Time-out' являются недостаточные значения для таймаутов.

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

Ниже приведены примеры по выполнению их изменения:


1) php.ini и PHP-FPM Pool

  • Далее приведены команды вносящие изменения в файлы конфигурации, увеличивающие таймауты до 180 секунд:
sudo sed -i "s@max_execution_time.*@max_execution_time = 180@" /etc/php/7.4/fpm/php.ini
sudo sed -i "s@max_input_time.*@max_input_time = 180@" /etc/php/7.4/fpm/php.ini
sudo sed -i 's@;request_terminate_timeout.*@request_terminate_timeout = 180@' /etc/php/7.4/fpm/pool.d/www.conf

sudo systemctl restart php7.4-fpm


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

Это можно сделать на странице USERSIDE: Меню — Настройки — Основная — Разное — phpinfo().



2) NGINX config

  • В настройке server для userside для блока location ~ \.php$ необходимо изменить значение увеличивающий таймаут до 180 секунд и перезапустить NGINX:
fastcgi_read_timeout = 180
sudo nginx -t && sudo nginx -s reload

* По умолчанию задан такой путь - /etc/nginx/conf.d/default.conf (если использовалась стандартная инструкция при установке). Отредактируйте значение в необходимом файле конфигурации, если у вас на сервере несколько сайтов и вы производили настройку с данным учетом.