Як створити віртуальні хости для різних портів на Apache?


20

Я хочу, щоб апарат це зробив>

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

Проблема в тому, що я не знаю, чи відкриваються ці порти в Linux (як це я перевіряю?)

А якщо вони не такі, як я відкрию їх у брандмауері та змушую апачу слухати?

Я спробував це зробити

> 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

Відповіді:


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>

Я зробив саме це ... але все ще немає кохання
qodeninja

чи можете ви зв’язатись із будь-яким із цих портів локально та / або віддалено?
sreimer

NameVirtualHostне має ефекту при використанні Apache 2.4
Vahid Amiri

Схоже, NameVirtualHost впливає на мене, і я використовую Apache 2.4: без NameVirtualHost, "<VirtualHost *: номер>" недостатньо, щоб VirtualHost не відповідав на інші порти.
rsethc

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.