У меня есть конфигурация виртуального хоста Apache2 +, которая отлично работает на порту 80, но вместо этого я пытаюсь настроить такую же настройку для работы на порту 9000. Я зашел в свой httpd.conf и изменил строку Listen на:
Listen xxx.xxx.xxx.xxx:9000
и я вошел в конфигурацию своего виртуального хоста для своего веб-сайта и изменил его на:
<VirtualHost xxx.xxx.xxx.xxx:9000>
Я открыл порт 9000 на своих iptables, например:
$ iptables -A INPUT -i eth0 -p tcp --dport 9000 -j ACCEPT
$ iptables -A OUTPUT -i eth0 -p tcp --dport 9000 -j ACCEPT
Но я столкнулся с проблемой, когда сайт по-прежнему не работает. В большинстве случаев я получаю прямую ошибку подключения, а иногда (после изменения некоторой конфигурации) я получаю ее для загрузки каталога htdocs по умолчанию на сервере.
Не знаю, что еще мне не хватает.
Скорее всего, ваши html-ссылки не включают: 9000, поэтому они не попадают в правильный порт (без спецификации порта по умолчанию используется tcp / 80.
также ваша директива iptables
iptables -A ВЫХОД -i eth0 -p tcp --dport 9000 -j ПРИНЯТЬ
не должно быть необходимым, потому что обратный трафик почти никогда не будет исходить из порта 9000, и даже если бы он был, он был бы охвачен записями таблицы состояний ESTABLISHED / EXISTING из первой директивы, поэтому вы можете убить этот второй
в остальном ваше прослушивание и директивы apache виртуального хоста выглядят правильно ... l (поэтому я предполагаю, что это могут быть URL-адреса на вашей странице, в которых отсутствует http://your.domain.com:9000)