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

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>

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.