Как повесить заглушку на IP в панели Vesta CP

30 Aug 2016 | Автор: dd |

При установке панели управления Vesta CP системой создается дефолтный домен (домен по умолчанию), основанный на hostname вашего сервера и цепляется к основному IP адресу.

Если далее вы добавляете в систему IP адреса, то когда в браузере будут вводить этот IP адрес, то будет выводиться первый домен, который был на него заведен. Фактически, понять, кто будет первым, можно либо зайдя на IP через браузер, либо посмотрев список доменов в VESTA CP https://SERVER_IP:8083/list/web/

Дефолтным доменом будет тот, кто для данного IP занимает нижнюю позицию. Это не очень здорово как с эстетической точки зрения, так и с точки зрения SEO, т.к вы собственноручно создаете полный клон домена.

Поэтому, чтобы по IP адресу выводилась заглушка, а не работающий домен, первым на IP надо создавать пустой домен, который в дальнейшем вы не собираетесь использовать. Или в домене по умолчанию править .htaccess чтобы осуществлялся редирект с IP адреса на родное доменное имя, но имхо это пляска с бубнами, если все можно реализовать гораздо проще.

Но если у вас IP больше нескольких штук, то не имеет никакого смысла плодить пустышки и можно просто создать default.domain
Привязывать его можно к любому IP, ибо дальше мы будем править лапками конфиг апача  /home/admin/conf/web/httpd.conf

Замечу, что я завожу все домены из под основного юзера, т.ч если вы плодите кучу иерархий, то вам придется править конфиги для каждого пользователя. И да, этим же способом можно пользоваться для любой другой панели в связке LAMP или, как в Vesta CP, когда апач выступает бэкэндом. Единственно, что пути до конфига и вебдиректорий будут отличаться и папку заглушки, возможно, придется создать руками. Как и индексный файлик index.html – зато можно будет дать простор для фантазий.

Открываем конфиг апача и видим, что все домены идут по порядкам IP адресов. Собственно апач, для определения дефолтного домена, просто считывает конфиг сверху вниз и первый домен на данном IP становится дефолтным. Поэтому перед началом списка виртуальных хостов для IP1, вставляем запись (можно, в принципе и просто в самом начале файла прописать для всех IP)
<VirtualHost IP1:8080>
    ServerName default.domain
    ServerAlias www.default.domain
    DocumentRoot /home/admin/web/default.domain/public_html
</VirtualHost>
далее спускаемся, находим начало списка доменов для IP2 и вставляем перед ними
<VirtualHost IP2:8080>
    ServerName default.domain
    ServerAlias www.default.domain
    DocumentRoot /home/admin/web/default.domain/public_html
</VirtualHost>
и так далее для всех IP с конфиге.

Сохраняем, выходим и рестартим сервис апача, либо из вебморды Vesta CP -> верхнее меню Server -> httpd -> Restart
либо же, что более быстро и прывычно, сразу из консоли:
# service httpd restart

 

UPD 14.08.2018 после одного из обновлений весты этот способ, почему то перестал работать, т.ч приходится проделывать более трудоемкую манипуляцию:

идем в папку /etc/httpd/conf.d делаем там листинг IPшников и видим пачку конфигов каждого IP адреса

# cd /etc/httpd/conf.d
# ls -l
total 84
1.1.1.1.conf
2.2.2.2.conf
3.3.3.3.conf

открываем на редактирование, например файл 1.1.1.1.conf и видим следующее содержимое

# cat 1.1.1.1.conf
NameVirtualHost 1.1.1.1:8080
Listen 1.1.1.1:8080
NameVirtualHost 1.1.1.1:8443
Listen 1.1.1.1:8443

после строки Listen 1.1.1.1:8080 мы и вставляем наше выражение, с IP этого конфига, приводя файл к следующему виду

NameVirtualHost 1.1.1.1:8080
Listen 1.1.1.1:8080
<VirtualHost 1.1.1.1:8080>
    ServerName default.domain
    ServerAlias www.default.domain
    DocumentRoot /home/admin/web/default.domain/public_html
</VirtualHost>
NameVirtualHost 1.1.1.1:8443
Listen 1.1.1.1:8443

После чего повторяем эту же процедуру и для конфигов остальных IP адресов, прописывая актуальные IP, после чего рестартим апач.

VN:F [1.9.21_1169]
Rating: 8.5/10 (8 votes cast)
VN:F [1.9.21_1169]
Rating: +2 (from 4 votes)
Как повесить заглушку на IP в панели Vesta CP, 8.5 out of 10 based on 8 ratings

Отзывов: 3 на «Как повесить заглушку на IP в панели Vesta CP»

  1. Автор: Кирилл на 03 Mar 2018

    Вот спасибо за приведённое решение. А то веста своенравно создаёт зачем то домен, что как и у указано у вас, не очень правильно.

    [Reply]

    VA:F [1.9.21_1169]
    Rating: 1.0/5 (2 votes cast)
    VA:F [1.9.21_1169]
    Rating: -3 (from 3 votes)
  2. Автор: Сергей на 31 Aug 2018

    А вот как делается ” избирательность ” … ?, то есть при заходе через такие браузеры и допустим из России вылетает один домен, а вот при заходе через какой-то ещё браузер или допустим не из России, ещё один домен …

    Я с этим столкнулся проверяя работу своего журнала https://lvserr.livejournal.com и выяснилось, что в зависимости от захода, подаётся или мой сайт, или чужой.

    [Reply]

    anchous Reply:

    средствами .htaccess – правила на основе юзерагента, либо по геобазе. но тут надо учитывать, что геобаза может быть кривой

    [Reply]

    VN:F [1.9.21_1169]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.21_1169]
    Rating: 0 (from 0 votes)

Ваш отзыв