Настройка виртуальных хостов на ПК с двумя серверами
У меня есть два сервера Apache, работающих на Windows 7. Один, который поставляется в комплекте с XAMPP(работает на порту 80) и тот, который идет с Zend(работает на порту 81). Я хотел бы настроить виртуальные хосты на порту 81. Как бы я поступил об этом? Это то, что я положил в httpd-vhosts. В моем
<VirtualHost *:81>
DocumentRoot "C:\Program Files (x86)\Zend\Apache2\htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:81>
DocumentRoot "C:/Program Files (x86)/Zend/Apache2/htdocs/youje"
ServerName youjenzi.localhost
</VirtualHost>
Для файла hosts я добавил следующую строку
127.0.0.1 youjenzi.localhost
Приведенные выше записи перенаправляют меня на XAMPP через порт 80.
3 ответа
HTTP и HTTPS работают только без номеров портов на порте 80 и порту 443 соответственно. Если у вас есть Apache, работающий на нестандартном порту, вам нужно будет добавить порт к адресу, который вы вводите в браузере, т.е. http://youjenzi.localhost:81/.
DNS не отправит вас на определенный порт, прокси и брандмауэры (и другие вещи) могут это сделать.
На сервере XAMPP, прослушивающем tcp:80, разместите это:
ProxyRequests On
ProxyPreserveHost On
ProxyPass / http://localhost:81
ProxyPassReverse / http://localhost:81
Тогда вам не нужно указывать какие-либо порты в адресной строке, чтобы явным образом достичь связанного с Zend apache.
Это означает, что у вас будет конфигурация обратного прокси на XAMPP (не то, что вы просили, а 2 цента и еще одна концепция)
Я не уверен, как вы настроите apache, но вы можете добавить другой IP-адрес к вашему компьютеру (или добавить псевдоним для локального хоста в файл hosts для другого приложения), и оба виртуальных сервера будут работать на одном и том же порту., Я думаю, это будет выглядеть так:
<VirtualHost *:80>
DocumentRoot "C:/Program Files (x86)/Zend/Apache2/htdocs/youje"
ServerName youjenzi2.localhost
</VirtualHost>
и файл хоста будет выглядеть так:
127.0.0.1 youjenzi.localhost
127.0.0.1 youjenzi2.localhost