Не доступен сайт, личный кабинет.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (4)

просмотр истории страницы
done{code}


h2. TCP Flood

В операционной системе linux есть ограничение на количество одновременно открытых TCP соединений. Намеренно или случайно на сервер с личным кабинетом может прийти большое количество TCP соединений, что блокирует обработку новых соединений. Личный кабинет, как и сервер в целом будет недоступен по протоколам передоваемым TCP - http/https, ssh и другим. Для борьбы с проблемой необходимо заблокировать создание новых соединений. Это можно сделать в таблице *raw* цепочки PREROUTING. В примере мы блокируем трафик неавторизованных абонентов, который НАС перенапрвил на страницу неавторизованных TCP порт 442.
# Для начал узаем сколько открыто соединий по TCP порту 440
{code}
conntrack -L | egrep 'tcp.*dport=440' | wc -l
{code}
Максимальное количество соединений по умолчанию равно 65536. Посмотреть его можно командой:
{code}
sysctl net.netfilter.nf_conntrack_max
{code}
# Можно было бы увеличить максимольное количество соединений, но это повлечёт дополнительную нагрузку на сервер. Поэтому лучше заблокировать создание соединий для оределённого вида трафика.
# Разместите в таблице raw правило блокировки.
{code}
iptables -t raw -I PREROUTING -p tcp -m tcp --dport 440 -m addrtype --dst-type LOCAL -j DROP
{code}
# Добавьте правило в [hook|Дополнительные настройки. hooks. Хуки. Свои правила в firewall] */app/asr_cabinet/cfg/hooks* , для его примения при запуске системы.
{code}
#!/bin/bash

if [ "$1" = '/etc/init.d/firewall' -a "$2" = 'start' ]; then
iptables -t raw -I PREROUTING -p tcp -m tcp --dport 440 -m addrtype --dst-type LOCAL -j DROP
fi

exit 0
{code}
# Очистите таблицу соединений
{code}
conntrack -F
{code}

h2. Сайт не работает после обновления платформы

h3. Модули

Для доработки сайта часто изменяют [модули|Пользовательские модули в cabinet_modules]. При обновлении *php* необходимо проверить тестировать их на соответствие новой версии. Если после обновления платформы возникла проблема с одним из модулей, временно исключите его из сборки кабинета, переместив в папку пользователя:.
Например, если файл с Вашим модулем называется "MyModule.php", его можно временно убрать из папки такой командой:
{code}
mv /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/MyModule.php /root/
{code}
А если модулей несколько - нужно убрать их все.

После исправления модуля не забудьте разместить его в рабочем каталоге и каталог хранения:
{code:title=Рабочий каталог}