Медленно работает личный кабинет.
Если сервер сильно тормозит, тормозит WEB и/или локальный сайт - нужно искать то, что грузит сервер, например top-ом, если грузит процесс httpd, то стоит поглядеть логи обращения к локальному сайту
tail -f -n 100 /app/asr_cabinet/var/log/httpd/access_log
Если видим строчки следующего вида, которые повторяются непрерывно:
<ip> - - [05/Feb/2016:16:41:27 +0300] "POST /xmlrpc.php HTTP/1.0" 500 310 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" <ip> - - [05/Feb/2016:16:41:27 +0300] "POST /xmlrpc.php HTTP/1.0" 500 310 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" <ip> - - [05/Feb/2016:16:41:27 +0300] "POST /xmlrpc.php HTTP/1.0" 500 310 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
То имеет место быть атака на wordpress.
Пути решения два:
Воспользоваться решением в статье, в которой описано как закрыть уязвимость.
Либо зафильтровать обращения средствами файрвола (лучше сразу зафильтровать все обращения к серверу с атакующих IP, так как атака может и не остановиться только на wordpress):
iptables -I asr_cabinet_input -s <ip/net> -j DROP conntrack -F
Также об атаке могут свидетельствовать записи в логе /app/asr_cabinet/var/log/httpd/access_log вида:
<ip> - - [29/Dec/2020:12:33:02 +0300] "-" 408 - "-" "-" <ip> - - [29/Dec/2020:12:33:03 +0300] "-" 408 - "-" "-" <ip> - - [29/Dec/2020:12:33:03 +0300] "-" 408 - "-" "-"
В этом случае решением проблемы будет зафильтровать обращения средствами файрвола
iptables -I asr_cabinet_input -s <ip/net> -j DROP conntrack -F
Не забываем добавить правило в хук /app/asr_cabinet/cfg/hooks
#!/bin/bash if [ "$1" = '/etc/init.d/firewall' -a "$2" = 'start' ]; then iptables -I asr_cabinet_input -s <ip/net> -j DROP fi exit 0
При открытии личного кабинета нет ответа от веб-сервера / зависает на ожидании ответа от сервера.
В случае, если при открытии личного кабинета веб-браузер ничего не показывает, либо пишет "Нет ответа от сервера" - необходимо сделать следующее:
- Проверить логи ошибок веб-сервера /app/asr_cabinet/var/log/httpd/error_log.
- Убедиться, что доступ до сервера действительно есть, это можно сделать в логе /app/asr_cabinet/var/log/httpd/access_log по обращениям к веб-серверу. А также, с использованием команды tcpdump.
tcpdump -nnei any port 80
- Перезапустить веб-сервер личного кабинета и повторно проверить логи сервера.
Перезапуск веб-сервера: /app/asr_cabinet/service restart
В случае выявления ошибок в error_log необходимо обратиться к документации сервера apache, для устранения проблемы и корректировки настроек.
Пример ошибки в логе /app/asr_cabinet/var/log/httpd/error_log:
[error] server reached MaxClients setting, consider raising the MaxClients setting
Указано, что количество клиентов, подключенных к веб-серверу, достигнуто максимально возможного значения. Требуется изменить параметр "MaxClients".
- Откройте конфигурационный файл веб-сервера
/app/asr_cabinet/etc/httpd/conf/httpd.conf
- Отредактируйте параметр
MaxClients
- Сохраните конфигурационный файл от перезаписи по статье
- Перезапустите веб-серве для применения настроек
chroot /app/asr_cabinet/ service httpd restart