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}
Если сервер сильно тормозит, тормозит 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}