Как мне создать виртуальные хосты для разных портов на Apache?

20

Я хочу, чтобы apache сделал это>

mydomain.com:80  --- opens var/www1
mydomain.com:81  --- opens var/ww2
mydomain.com:82  --- opens var/www3

Проблема в том, что я не знаю, открыты ли эти порты в Linux (как я могу проверить?)

А если нет, как мне открыть их в брандмауэре и заставить слушать Apache?

Я пытался сделать это

> iptables -A RH-Firewall-1-INPUT -m  NEW -m tcp -p tcp –dport 81 -j ACCEPT
iptables v1.3.5: Couldn't load match `NEW':/lib64/iptables/libipt_NEW.so: cannot open shared object file: No such file or directory

и я проверил порты ... похоже, httpd слушает ... но я не знаю, почему я не могу нажать свой URL

> netstat -tulpn | less
tcp        0      0 :::80       :::*      LISTEN      6840/httpd
tcp        0      0 :::81       :::*      LISTEN      6840/httpd
tcp        0      0 :::82       :::*      LISTEN      6840/httpd
qodeninja
источник

Ответы:

39

Чтобы расширить ответ Джеффа, вам понадобится что-то подобное в вашей конфигурации apache.

Listen 80
Listen 81
Listen 82

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www1
ServerName www.example1.com
</VirtualHost>

NameVirtualHost *:81
<VirtualHost *:81>
DocumentRoot /var/www2
ServerName www.example2.org
</VirtualHost>


NameVirtualHost *:82
<VirtualHost *:82>
DocumentRoot /var/www3
ServerName www.example3.org
</VirtualHost>
sreimer
источник
Я сделал именно это ... но все еще не люблю
kodeninja
Вы можете подключиться к любому из этих портов локально и / или удаленно?
sreimer
NameVirtualHostне имеет никакого эффекта при использовании с Apache 2.4
Вахид Амири
NameVirtualHost, кажется, оказывает влияние на меня, и я использую Apache 2.4: без NameVirtualHost «<VirtualHost *: number>» недостаточно для предотвращения ответа VirtualHost на других портах.
rsethc
7

Шаг 1: Настройте Apache для прослушивания на каждом из портов, которые вы хотите обслуживать.

Шаг 2: Настройте конфигурацию виртуального хоста для каждого порта, который вы хотите обслуживать.

Джефф Альберт
источник