• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
+380 (44) 364 05 71

К нам часто обращаются клиенты VPS и физических серверов, с просьбой о помощи в настройке различных редиректов. В этой статье мы собрали наиболее часто возникающие задачи и их решения.

SSL

Вы приобрели SSL-сертификат и теперь естественно хотите чтобы ваш сайт открывался по защищенному протоколу https:// а не http:// . Для этого потребуется внести изменения в конфигурацию вэб-сервера , на Ваш выбор это может быть Apache или Nginx.

Для Apache необходимо добавить следующие строки в файл .htaccess

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-proto} !^https$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Если вы хотите сделать редирект средствами Nginx то необходимо добавить следующие строки в конфиг nginx.conf

server {
listen 10.10.10.10:80;
server_name domain.com;
return 301 https://domain.com$request_uri;
}

Не вносите изменения на редирект https сразу в два сервера, в такой ситуации возможны конфликты в работе. Или циклическая переадресация.

Ловушки для ботов и нежелательного трафика

Защита от ботов и нежелательного трафика если используется Apache (.htaccess)

Бывают ситуации когда возникает подозрение что сайт тормозит, или анализируя логи на сервере вы видите большое количество трафика на страницы , которых
точно нет на сайте. Действие похожее на то что бот прощупывает или ищет какие-то лазейки в движке сайта. Или идут запросы на урл админ панели , а вы точно знаете что в админ панель большого посещения не должно быть. Или идут запросы на урлы спецефичные для CMS Wordpress или Joomla или какого-то другого. А на сервере используется совсем другой движок который не имеет никакого отношения с такими урлами. Возможна ситуация что на сайте есть поиск по урлу /search/ и туда приходит большое количество ботов тем самым посылая постоянно какой-то "мусор" в поисковую службу сайта что создает нагрузку уже не только на сайт но и на SQL БД. Что может замедлить работу уже всего сайта.
В таком случае можно поставить "ловушки" для такого поведения.

Что в результате может снизить как паразитный трафик на сайт так и сократить попытки взлома сайта.

Нижеописанные действия относяться к файлу .htaccess (Apache)

Одно из действий которе можно предпринять это отправить посетителя с его IP на страницу-заглушку:

SetEnvIf REMOTE_ADDR 10.10.10.10 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ /blocked_page.html

Здесь 10.10.10.10 - ip вредного посетителя

Ситуация когда "ищут" лазейки на сайте в логах может просматриваться
как попытки зайти на страницы которых нет. Для такого случая можно раставить следующие ловушки:

redirect /bin http://127.0.0.1/
redirect /scanner http://127.0.0.1/
redirect /scripts http://127.0.0.1/
redirect /pma http://127.0.0.1/
redirect /admin http://127.0.0.1/
redirect /phpMyAdmin http://127.0.0.1/
redirect /botadmin http://127.0.0.1/
redirect /wp-admin http://127.0.0.1/
RedirectMatch (.*)\runspam.pl$ http://somedomain.com$1

Для Nginx (аналогичные идеи)

Отправить клиента с ip 10.10.10.10 на страничку:
server {
   if ($remote_addr = 10.10.10.10) {
      rewrite ^ http://domain.com/blank.htm;
   }
...
}

Блокировка по user_agent:

user_gent это идентификатор клиента, например при нормальной работе это может быть Mozilla/5.0,Chrome. В других ситуация здесь могут быть клиенты которые вам совершенно не нужны. Ниже приведен пример блокировки по user_agent :

if ($http_user_agent ~* (netcrawl|npbot|malicious|wget|scanner)) {
   return 403;
}

Блокировка урла:

location /scanner {
#location /pma {
#location /phpMyAdmin {
   return 301 /some_page;
   # return 301 http://127.0.0.1/$request_uri;
   # или можно сразу давать
   # return 403;
}

Возможна ситуация когда ваш сайт , "спамят" чужими доменами. То есть приходит трафик который к вам отношения не имеет. Такое поведение может быть по разным причинам, в том числе трафик от бот сетей. Бороться с этим можно следующим образом : (для Nginx)

Разрешить доступ только на наши домены

if ($host !~ ^(domain.com|www.domain.com|docs.domain.com)$ ) {
   return 444;
}

Дата: 02.07.2016
Автор: Константин
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA