Задать вопрос
@Rokis
Не стыдно спрашивать, стыдно не пытаться...

Как защитить сайт от перегрузки на shared хостинге?

Приветствую!

Имеется несколько сайтов на стандартном тарифе виртуального хостинга. Никогда не было превышения нагрузки. За какие-то 20 минут сканирования сервисом Wpscan нагрузка на сервер увеличилась в 8 раз! Все запросы уходили в редирект. В секунду около 10. Пришло письмо о превышении нагрузки.

Пример:
11.111.111.11 - - [17/Feb/2017:18:20:38 +0300] "GET /backup/admin HTTP/1.1" 301 - "-" "


Временное решение заблокировать IP. Ну и собственно вопрос:

Как защитить сайты от хулиганов, которые будут злоупотреблять этим и подобными инструментами, чтобы "положить" сайт? Ведь таким образом за пару дней провайдер отключит сайты из-за нагрузки.

Сайты на Wordpress, плагины стараюсь не использовать.
  • Вопрос задан
  • 644 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Прежде, чем что-то подключать из сторонних сервисов, советую вначале максимально предметно разобраться :
1. С описанием проблемы
2. С условиями её возникновения
3. С последствиями, вызванными ею
4. Со способами предотвращения возникновения проблемы
5. Со способами устранения уже возникшей проблемы за минимальное время

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

Почему может возникать нагрузка
  • Сайт посещаемый и это честная нагрузка. Такова реальность.
  • В коде сайта ошибка. Например, если в php открыть файл или сокет, не проверить факт удачного открытия, и начать читать/писать в этот файл/сокет, то обработка этих ошибок будет очень сильно грузить процессор.
  • Боты сканируют сайт. Решение - искать их по access_log и блокировать через файл .htaccess

CP - полезная нагрузка в минутах: рассчитывается количество работы одного ядра на протяжении 60-и минут (часа): 1 ядро работающее целый час = 100% загрузка.

CP=60*T/60,
где T - кол-во минут полезного процессорного времени на одно ядро.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Покупайте vps и разворачивайте сайты там
Ответ написан
kumaxim
@kumaxim
Web-программист
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы