У меня в локальной сети несколько машин. На одном из них работает 2 веб-сайта, first_web_site и second_web_site (каждый на отдельном NameVirtualHost). На другой машине работает еще один сайт third_web_site. Я хотел бы иметь доступ к каждому из них в Интернете по URL-адресу:
зная, что 2 сайта находятся на одной машине. Может ли Apache помочь мне в этом?
У меня есть машина, на которой будет сервер Apache, который будет использоваться для прокси. Я говорил, чтобы настроить виртуальный хост на этом и использовать прокси-сервер, но я не знаю, как это сделать.
Не могли бы вы мне подсказать? Большое спасибо Люк
Вы можете настроить прокси на первом поле, которое подключается и туннелирует ко второму. Это сделано для того, чтобы вторая коробка выполняла всю тяжелую работу, а первому потребуются ресурсы только для отображения страницы.
Создайте или отредактируйте vhosts.conf в вашем apache conf.d (или его эквиваленте в зависимости от ОС).
Используйте директиву NameVirtualHost для обработки имен DNS.
NameVirtualHost *:80
Затем определите каждый из ваших виртуальных хостов. Примерно так:
<VirtualHost *:80>
ServerName sub1.domain.com
ProxyRequests Off
ProxyPreserveHost On
# use the IP address or DNS or the server to forward to
# can include the port as well if necessary
ProxyPass / http://x.x.x.1/
ProxyPassReverse / http://x.x.x.1/
</VirtualHost>
<VirtualHost *:80>
ServerName sub2.domain.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://x.x.x.2/
ProxyPassReverse / http://x.x.x.2/
</VirtualHost>
Для двух сайтов в одном окне это зависит от того, как они настроены. Если они находятся на разных портах, определите порты, если они пути, тогда вам нужно добавить путь в конце записей ProxyPass и ProxyPassReverse:
http://x.x.x.1/app1