Блок ботов через block.conf - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Хостинг и железо
Дата
USD/RUB93.7196
BTC/USD64086.6776
Хостинг и железо Обсуждаем вопросы хостинга и железа.

Закрытая тема
Опции темы Опции просмотра
Старый 08.07.2017, 23:52   #1
PavelWeb
Member
 
Регистрация: 14.04.2017
Сообщений: 47
Бабло: $13680
По умолчанию Блок ботов через block.conf

Доброго.
ТП хостера заблочил ботов через небольшой файлик расположенный в директории нигса
block.conf
В этом файлике правила вида
Код:
if ($http_user_agent ~* SemrushBot|SputnikBot|Crowsnest|PaperLiBot|peerindex|ia_archiver|Slurp|Aport|NING|JS-Kit|rogerbot|BLEXBot|MJ12bot|Twiceler|Baiduspider|Java|CommentReader|Yeti|discobot|BTWebClient|Tagoobot|Ezooms|igdeSpyder|AhrefsBot|Teleport|Offline|DISCo|netvampire|Copier|HTTrack|WebCopier|GrapeshotCrawler|coccocbot-web|HybridBot|magpie-crawlerHostTracker|Riddler|SentiBot|MegaIndex.ru) {
   return 403;
}
Но насколько я понял ТП хостера далее данный файл нужно подключать к каждому домену отдельно.

Цитата:
Подключил через создание симлинки для каждого домена этой командой:

for i in `grep include /home/admin/conf/web/nginx.conf|awk '{print $2}'|awk -F* '{print $1}'`; do ln -s /home/admin/conf/web/block.conf $i;done
Может кто разъяснить на пальцах как это осуществили?

Спасибо.

P.S. Серв с вестой. Плюс все правила расположены тут /home/admin/conf/web

Последний раз редактировалось PavelWeb; 09.07.2017 в 00:01.
PavelWeb вне форума  
Старый 10.07.2017, 10:00   #2
gumu
Senior Member
 
Регистрация: 29.01.2015
Сообщений: 486
Бабло: $66365
По умолчанию

Привет.
У тебя сделано следующее:
1. Веста генерит отдельный конфиг под каждый домен.
2. В конфиге каждого домена есть строчка include "DOCUMENT_ROOT/block.conf";(DOCUMENT_ROOT каждого домена)
3. Чтобы не копировать каждый раз block.conf в DOCUMENT_ROOT каждого домена, делается symlink на глобальный /home/admin/conf/web/block.conf. И это делается по крону, скорее всего.

Но это адские костыли, так делать не нужно.
Вот тут есть топик старый по твоей проблеме:
http://www.gofuckbiz.com/showthread.php?t=39716

То, что нужно тебе:
1. Создаёшь файл /home/admin/conf/web/bad_ua.conf:
Код:
 map $http_user_agent $bad_ua {

  default 0;

  ""                       1;
  "~*Panopta"              1;
  "~*Baiduspider"          1;
  "~*AC-BaiduBot"          1;
  "~*TurnitinBot"          1;
  "~*pirst"                1;
  "~*FlightDeckReportsBot" 1;
  "~*Fuck"                 1;
  "~*DomainTools"          1;
  "~*ZmEu"                 1;
  "~*ezooms"               1;
  "~*solomono"             1;
  "~*360Spider"            1;
  "~*Ahrefs"               1;
  "~*Sogou"                1;
  "~*Java/1"               1;
  "~*nutch agent"          1;
  "~*Indy Library"         1;
  "~*Sogou"                1;
  "~*urllib"               1;
  "~*wget"                 1;
  "~*curl"                 1;
  "~*MJ12bot"              1;
  "~*majestic"             1;
}
2. /home/admin/conf/web/bad_ua.conf инклудишь в секцию http:
Код:
http {
  include /home/admin/conf/web/bad_ua.conf;
}
3. Создаёшь файл /home/admin/conf/web/server_common.conf:
Код:
if ($bad_ua) {
  return 444;
}
4. /home/admin/conf/web/server_common.conf инклудится в индивидуальный конфиг каждого вирт. хоста, примерно так:
Код:
 server {
  include /home/admin/conf/web/server_common.conf;
}
Так советует делать сам разработчик nginx. Это будет работать быстрее, чем твой вариант.
gumu вне форума  
Старый 10.07.2017, 12:04   #3
PavelWeb
Member
 
Регистрация: 14.04.2017
Сообщений: 47
Бабло: $13680
ТС -->
автор темы ТС По умолчанию

Спасибо. Сделаю как вы советуете
Еще вопрос
По умолчанию разбил систему так
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 5.2G 13G 29% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 26M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda3 1.8T 2.4G 1.7T 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/1001
Верно ли это?
Что-то добавить удалить нужно?
Спасибо заранее.
PavelWeb вне форума  
Старый 10.07.2017, 19:08   #4
PavelWeb
Member
 
Регистрация: 14.04.2017
Сообщений: 47
Бабло: $13680
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от gumu Посмотреть сообщение
Привет.
У тебя сделано следующее:
1. Веста генерит отдельный конфиг под каждый домен.
2. В конфиге каждого домена есть строчка include "DOCUMENT_ROOT/block.conf";(DOCUMENT_ROOT каждого домена)
3. Чтобы не копировать каждый раз block.conf в DOCUMENT_ROOT каждого домена, делается symlink на глобальный /home/admin/conf/web/block.conf. И это делается по крону, скорее всего.

Но это адские костыли, так делать не нужно.
Вот тут есть топик старый по твоей проблеме:
http://www.gofuckbiz.com/showthread.php?t=39716

То, что нужно тебе:
1. Создаёшь файл /home/admin/conf/web/bad_ua.conf:
Код:
 map $http_user_agent $bad_ua {

  default 0;

  ""                       1;
  "~*Panopta"              1;
  "~*Baiduspider"          1;
  "~*AC-BaiduBot"          1;
  "~*TurnitinBot"          1;
  "~*pirst"                1;
  "~*FlightDeckReportsBot" 1;
  "~*Fuck"                 1;
  "~*DomainTools"          1;
  "~*ZmEu"                 1;
  "~*ezooms"               1;
  "~*solomono"             1;
  "~*360Spider"            1;
  "~*Ahrefs"               1;
  "~*Sogou"                1;
  "~*Java/1"               1;
  "~*nutch agent"          1;
  "~*Indy Library"         1;
  "~*Sogou"                1;
  "~*urllib"               1;
  "~*wget"                 1;
  "~*curl"                 1;
  "~*MJ12bot"              1;
  "~*majestic"             1;
}
2. /home/admin/conf/web/bad_ua.conf инклудишь в секцию http:
Код:
http {
  include /home/admin/conf/web/bad_ua.conf;
}
3. Создаёшь файл /home/admin/conf/web/server_common.conf:
Код:
if ($bad_ua) {
  return 444;
}
4. /home/admin/conf/web/server_common.conf инклудится в индивидуальный конфиг каждого вирт. хоста, примерно так:
Код:
 server {
  include /home/admin/conf/web/server_common.conf;
}
Так советует делать сам разработчик nginx. Это будет работать быстрее, чем твой вариант.

Пара вопросов

2 Пункт -куда инклюдить? в какой файл?
4 Пункт аналогично. Куда вносим запись?
PavelWeb вне форума  
Старый 11.07.2017, 09:42   #5
gumu
Senior Member
 
Регистрация: 29.01.2015
Сообщений: 486
Бабло: $66365
По умолчанию

Цитата:
Сообщение от PavelWeb Посмотреть сообщение
Спасибо. Сделаю как вы советуете
Еще вопрос
По умолчанию разбил систему так
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 5.2G 13G 29% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 26M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda3 1.8T 2.4G 1.7T 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/1001
Верно ли это?
Что-то добавить удалить нужно?
Спасибо заранее.
У меня разбивка следующая:
/dev/md2 219G 37G 171G 18% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/md1 496M 48M 423M 11% /boot

Так бьёт стандартный инсталлятор hetzner-a. Проблем никогда не было. Возможно есть смысл выделить отдельно /home. Но у меня нет специфических задач(обычный сервер под http) и я постоянно бэкаплюсь.

Цитата:
Сообщение от PavelWeb Посмотреть сообщение

Пара вопросов

2 Пункт -куда инклюдить? в какой файл?
4 Пункт аналогично. Куда вносим запись?
2 - в nginx.conf, там есть секция http { }
4 - вносишь include в каждый конфиг виртуал хоста(т.е. в твоём случае каждого домена). он начинается с server {. В весте, я полагаю, где-то надо внести этот include в её конфиге дабы она добавляла его(include) в каждый виртуал хост.
gumu вне форума  
Старый 11.07.2017, 11:26   #6
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,859
Бабло: $1861005
По умолчанию

Цитата:
Сообщение от PavelWeb Посмотреть сообщение
Спасибо. Сделаю как вы советуете
Еще вопрос
По умолчанию разбил систему так
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 5.2G 13G 29% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 26M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda3 1.8T 2.4G 1.7T 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/1001
Верно ли это?
Что-то добавить удалить нужно?
Спасибо заранее.
зачем так много в tmpfs
udev 10M 0 10M 0% /dev
tmpfs 717M 73M 644M 11% /run
tmpfs 1,8G 4,4M 1,8G 1% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 1,8G 0 1,8G 0% /sys/fs/cgroup
tmpfs 359M 12K 359M 1% /run/user/1000
веломан на форуме  
Старый 11.07.2017, 11:56   #7
PavelWeb
Member
 
Регистрация: 14.04.2017
Сообщений: 47
Бабло: $13680
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от веломан Посмотреть сообщение
Цитата:
Сообщение от PavelWeb Посмотреть сообщение
Спасибо. Сделаю как вы советуете
Еще вопрос
По умолчанию разбил систему так
Filesystem Size Used Avail Use% Mounted on
/dev/root 20G 5.2G 13G 29% /
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 26M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/sda3 1.8T 2.4G 1.7T 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/1001
Верно ли это?
Что-то добавить удалить нужно?
Спасибо заранее.
зачем так много в tmpfs
udev 10M 0 10M 0% /dev
tmpfs 717M 73M 644M 11% /run
tmpfs 1,8G 4,4M 1,8G 1% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 1,8G 0 1,8G 0% /sys/fs/cgroup
tmpfs 359M 12K 359M 1% /run/user/1000
Автоматом разбило Просто боюсь где-то накосячить Вот и выясняю подводные камни
PavelWeb вне форума  
Старый 11.07.2017, 17:06   #8
number4
Senior Member
 
Регистрация: 23.04.2017
Адрес: Pattaya
Сообщений: 132
Бабло: $20600
По умолчанию

нахрена все так сложно, если просто можно инклюдить:
include /home/admin/conf/web/block.conf;
во всех конфигах

и никаких нахрен симлинков и прочей мутотени не надо
number4 вне форума  
Старый 11.07.2017, 17:09   #9
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,859
Бабло: $1861005
По умолчанию

во во
там из инклудов можно собирать неебические конфиги в считанные минуты, всего 1 раз их написав
веломан на форуме  
Старый 12.07.2017, 22:27   #10
PavelWeb
Member
 
Регистрация: 14.04.2017
Сообщений: 47
Бабло: $13680
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от веломан Посмотреть сообщение
во во
там из инклудов можно собирать неебические конфиги в считанные минуты, всего 1 раз их написав
Ниче не понял)
PavelWeb вне форума