Я использую виртуальный частный сервер с тремя конкретными доменами. Скажем, 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>