Назад | Перейти на главную страницу

Как привязать webmin к одному конкретному домену / vhost?

Я использую виртуальный частный сервер с тремя конкретными доменами. Скажем, example1.com, example2.com, example3.com.

Я установил webmin на этот VPS, чтобы выполнять несколько простых задач и просто управлять некоторыми действиями в удобном графическом интерфейсе (тема Bootstrap 3 Webmin).

Я уже привязываю webmin к порту не по умолчанию, чтобы он был совместим с гибким SSL CloudFlare. CloudFlare поддерживает бесплатный гибкий SSL на порту 8443, поэтому я решил запустить Webmin на порту 8443 вместо порта по умолчанию 10000.

Теперь этот порт webmin доступен на всех хостах. Таким образом, я могу подключиться к webmin через SSL на доменах.

Я действительно хочу, чтобы это было доступно только для одного конкретного домена. Так что я просто хочу, чтобы webmin работал, например:

Или даже на порт 443 в другом домене, например:

И не быть доступным на этом порту в доменах 1, 2 и 3. Кто-нибудь знает, как это сделать?

Все домены находятся за CloudFlare, а DNS-серверы CloudFlare указывают на мой VPS, который имеет только один IPv4 и один IPv6 адрес. Используемое программное обеспечение для управления моими хостами - Apache.

Обычно я бы проверил apache2 / httpd / nginx или любой другой веб-сервер, чтобы настроить виртуальный домен. Таким образом вы можете попросить свой веб-сервер направить HTTP-запрос в определенное место в зависимости от имени хоста, введенного конечным пользователем.

Для apache2 конфигурация должна выглядеть так (специфично для webmin). С example1.com ваше доменное имя, 10000 порт для webmin и /var/www/html основной каталог webmin.

/etc/apache2/sites-available/000-default.conf:

<VirtualHost example1.com:10000>    
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName     
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this    
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html

 # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,     # error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log    
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are  
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the  
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf 
</VirtualHost>