Я немного новичок, так что потерпи меня.
Я регулярно проверяю свои журналы для развлечения и получаю много (тысячи) таких ошибок: http://pastebin.com/i0iSKDCW
У меня проблемы с сервером Burst.net VPS, и мне интересно, был ли мне выделен чей-то старый IP-адрес, и они оставили свой домен настроенным или что-то вроде этого?
Что я хочу сделать, так это использовать iptables или что-то подобное, чтобы отклонить все подобные запросы (с хостом: eciou.net), не позволяя им добраться до Nginx (у меня есть медленное программное обеспечение, работающее под Nginx).
Решение
Как предложили замечательные люди ниже, я просто добавил это в свой файл конфигурации:
сервер {слушать [::]: 80; имя_сервера eciou.net; расположение / {корень / SRV / http / static / eciou; index index.html; }}
Обратите внимание, что [::]: 80 означает, что мой сервер также настроен на прием IPv6. Обычно я считаю, что достаточно 80.
Да, скорее всего, у вас есть IP-адрес, который раньше использовался для размещения eciou.net домен.
К сожалению, нет простого способа отфильтровать такие запросы с помощью iptables, потому что он работает на более низком уровне модели OSI и ничего не знает о Ведущий: ... Заголовок HTTP.
Вы можете фильтровать такие запросы в nginx и не дать им добраться до вашего тяжелого программного обеспечения. Это можно сделать с помощью переменной среды $ host: http://wiki.nginx.org/HttpCoreModule#.24host
Вот быстрый пример, который вернет 404 для запросов к этому домену:
if ($host ~* "eciou.net") {
return 404;
}
Я бы посоветовал возвращать 404 для всех этих запросов, потому что ... ну, потому что 404 означает «Не найдено», и это действительно происходит здесь.
Например.:
server {
listen 80; # only port means "listen all interfaces"
server_name eciou.net;
log_not_found off; # if you do not want to log all these 404's
root /srv/http/static/eciou;
location / {}
}
В этой настройке Nginx будет искать запрошенные файлы в файловой системе. Ничего страшного, но если вас это беспокоит, return 404
будет эффективнее (вместо root
+ location
)