Bagaimana cara membuat Host Virtual untuk Port yang Berbeda di Apache?

20

Saya ingin apache melakukan ini>

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

Masalahnya adalah saya tidak tahu apakah port-port itu terbuka di Linux (bagaimana saya memeriksa?)

Dan jika mereka tidak bagaimana cara membukanya di firewall dan mendapatkan apache untuk mendengarkan?

Saya mencoba melakukan ini

> 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

dan saya memeriksa port ... sepertinya httpd mendengarkan ... tapi saya tidak tahu mengapa saya tidak bisa mengenai URL saya

> 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
sumber

Jawaban:

39

Untuk memperluas jawaban Jeff, Anda memerlukan sesuatu seperti ini di konfigurasi apache Anda

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
sumber
Saya melakukan hal itu ... tapi tetap tidak ada cinta
qodeninja
dapatkah Anda telnet ke salah satu port ini secara lokal dan / atau jarak jauh?
sreimer
NameVirtualHosttidak berpengaruh ketika digunakan dengan Apache 2.4
Vahid Amiri
NameVirtualHost tampaknya berpengaruh bagi saya, dan saya menggunakan Apache 2.4: tanpa NameVirtualHost, "<VirtualHost *: number>" tidak cukup untuk mencegah VirtualHost dari menjawab di port lain.
rsethc
7

Langkah 1: Konfigurasikan Apache untuk Mendengarkan di setiap port yang ingin Anda layani.

Langkah 2: Atur konfigurasi Virtual Host untuk setiap port yang ingin Anda layani.

Jeff Albert
sumber