Просмотр Исходного

h2. Медленно работает личный кабинет.

Если сервер сильно тормозит, тормозит WEB и/или локальный сайт - нужно искать то, что грузит сервер, например top-ом, если грузит процесс httpd, то стоит поглядеть логи обращения к локальному сайту

{code}

tail -f -n 100 /app/asr_cabinet/var/log/httpd/access_log

{code}

Если видим строчки следующего вида, которые повторяются непрерывно:

{code}

<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)"

{code}

То имеет место быть атака на wordpress.

Пути решения два:

Воспользоваться решением в [статье|https://habrahabr.ru/post/232129/], в которой описано как закрыть уязвимость.
Либо зафильтровать обращения средствами файрвола (лучше сразу зафильтровать все обращения к серверу с атакующих IP, так как атака может и не остановиться только на wordpress):

{code}

iptables -I asr_cabinet_input -s <ip/net> -j DROP
conntrack -F

{code}


Также об атаке могут свидетельствовать записи в логе /app/asr_cabinet/var/log/httpd/access_log вида:
{code}
<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 - "-" "-"
{code}

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

{code}

iptables -I asr_cabinet_input -s <ip/net> -j DROP
conntrack -F

{code}

Не забываем добавить правило в [хук|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=50660094] /app/asr_cabinet/cfg/hooks

{code}

#!/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

{code}

h2. При открытии личного кабинета нет ответа от веб-сервера / зависает на ожидании ответа от сервера.

В случае, если при открытии личного кабинета веб-браузер ничего не показывает, либо пишет "Нет ответа от сервера" - необходимо сделать следующее:
* Проверить логи ошибок веб-сервера */app/asr_cabinet/var/log/httpd/error_log*.
* Убедиться, что доступ до сервера действительно есть, это можно сделать в логе */app/asr_cabinet/var/log/httpd/access_log* по обращениям к веб-серверу. А также, с использованием команды tcpdump.
{code}
tcpdump -nnei any port 80
{code}

* Перезапустить веб-сервер личного кабинета и повторно проверить логи сервера.
{code}Перезапуск веб-сервера:
/app/asr_cabinet/service restart
{code}

В случае выявления ошибок в error_log необходимо обратиться к документации сервера apache, для устранения проблемы и корректировки настроек.

Пример ошибки в логе */app/asr_cabinet/var/log/httpd/error_log*:
{code}
[error] server reached MaxClients setting, consider raising the MaxClients setting
{code}

Указано, что количество клиентов, подключенных к веб-серверу, достигнуто максимально возможного значения. Требуется изменить параметр "MaxClients".
# Откройте конфигурационный файл веб-сервера
{code}
/app/asr_cabinet/etc/httpd/conf/httpd.conf
{code}
# Найдите секцию *prefork.c* Отредактируйте параметры *MaxClients* и *ServerLimit* до 100:
{code}
<IfModule prefork.c>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 100
MaxClients 100
MaxRequestsPerChild 10000
</IfModule>
{code}
# Сохраните конфигурационный файл от перезаписи по [статье|Изменение системных файлов]
# Перезапустите веб-серве для применения настроек
{code}
chroot /app/asr_cabinet/ service httpd restart
{code}