Вопрос или проблема
Я хочу предотвратить появление порта 10000 в URL-адресе сервера Webmin, перенаправляя трафик с помощью правил iptables, например, с порта 10000 на порт 443, чтобы интерфейс был доступен по URL, например, https://webminexemple.com. Следующая команда:
sudo iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 10000
работает для перенаправления трафика. Однако при навигации по интерфейсу Webmin порт 10000 снова появляется в URL. Порт 443 также используется на том же сервере через Apache.
Ответ или решение
Как предотвратить появление порта 10000 в URL Webmin, перенаправляя трафик с порта 10000 на 443
При настройке Webmin-сервера нередко возникает необходимость скрыть порт 10000 из URL. Это может быть связано с соображениями безопасности или эстетики. В этом руководстве мы рассмотрим, как можно эффективно перенаправить трафик с порта 10000 на порт 443, чтобы можно было использовать удобный URL вида https://webminexample.com
без указания порта.
Существующая проблема
Вы уже используете команду iptables для перенаправления трафика, но после этого при навигации в интерфейсе Webmin порт 10000 вновь появляется в URL. Это связано с тем, что Webmin по умолчанию формирует ссылки с указанием порта 10000.
sudo iptables -t nat -I PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 10000
Эта команда корректно перенаправляет трафик, но не решает проблему изменения ссылок в самом Webmin.
Решение проблемы
Чтобы скрыть порт 10000 и использовать только порт 443, вам необходимо внести изменения в конфигурацию Webmin и использовать другую стратегию перенаправления.
-
Настройка Webmin для использования порта 443
Внесите изменения в конфигурационный файл Webmin, чтобы он работал на порту 443. Откройте файл конфигурации Webmin, который обычно находится по пути
/etc/webmin/miniserv.conf
, и измените строчку, отвечающую за порт:port=10000
Измените на:
port=443
После этого вам нужно будет перезапустить Webmin для применения изменений:
sudo systemctl restart webmin
Обратите внимание, что после этого вам может потребоваться перенастроить iptables, так как Webmin теперь использует порт 443.
-
Использование iptables для перенаправления трафика
Если вы хотите, чтобы Webmin всё равно был доступен через 443 в случае, если произойдет сбой, вы можете установить правила iptables для перенаправления порта 10000 на 443. Однако, в данном случае, поскольку Webmin работает на 443, данный шаг не обязателен.
При этом вы можете оставить следующее правило iptables для перенаправления запросов к 10000 на 443 (если потребуется):
sudo iptables -t nat -A PREROUTING -p tcp --dport 10000 -j REDIRECT --to-port 443
Это позволит автоматически редиректить все запросы на 10000 на порт 443.
-
Настройка веб-сервера Apache
Если на той же машине работает Apache, убедитесь, что он настроен правильно и не конфликтует с Webmin. Проверьте конфигурационные файлы Apache, чтобы убедиться, что порт 443 используется только для вашего сайта и что необходимые модули, такие как
mod_ssl
, активированы.Пример простой конфигурации виртуального хоста:
<VirtualHost *:443> ServerName webminexample.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /path/to/certificate.crt SSLCertificateKeyFile /path/to/private.key </VirtualHost>
-
Проверка настроек
После выполненных настройок обязательно протестируйте доступ к Webmin по адресу
https://webminexample.com
. Убедитесь, что ваш веб-браузер корректно загружает интерфейс Webmin, и что в URL не отображается номер порта.
Заключение
Таким образом, скрыть порт 10000 в URL Webmin можно только при условии, что Webmin работает на порту 443. Это не только улучшает эстетику адреса, но и обеспечивает дополнительный уровень безопасности. Настраивая и проверяя все вышеперечисленные шаги, вы получите доступ к Webmin без упоминания порта 10000, улучшив пользовательский опыт.