Jak utworzyć wirtualne hosty dla różnych portów na Apache?

20

Chcę to zrobić Apache>

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

Problem w tym, że nie wiem, czy te porty są otwarte w systemie Linux (jak to sprawdzić?)

A jeśli nie, to jak mogę je otworzyć w zaporze i poprosić apache do słuchania?

Próbowałem to zrobić

> 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

i sprawdziłem porty ... wygląda na to, że httpd nasłuchuje ... ale nie wiem, dlaczego nie mogę trafić mojego adresu 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
źródło

Odpowiedzi:

39

Aby rozwinąć odpowiedź Jeffa, potrzebujesz czegoś takiego w konfiguracji 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
źródło
Zrobiłem dokładnie to ... ale wciąż nie mam miłości
qodeninja
czy możesz telnet do dowolnego z tych portów lokalnie i / lub zdalnie?
sreimer
NameVirtualHostnie działa, gdy jest używany z Apache 2.4
Vahid Amiri
NameVirtualHost wydaje się mieć dla mnie wpływ i używam Apache 2.4: bez NameVirtualHost „<VirtualHost *: number>” nie wystarcza, aby VirtualHost nie odpowiadał na innych portach.
rsethc
7

Krok 1: Skonfiguruj Apache do nasłuchiwania na każdym z portów, które chcesz obsłużyć.

Krok 2: Skonfiguruj konfigurację hosta wirtualnego dla każdego portu, który chcesz obsłużyć.

Jeff Albert
źródło