Преамбула:
Я настроил общедоступный сервер с несколькими виртуальными хостами. Запросы для одного виртуального хоста должны быть отправлены на внутренний сервер. Все остальные запросы должны обслуживаться локально.
Проблема:
Запросы ВСЕХ виртуальных хостов передаются на IP-адрес, указанный в директиве ProxyPass, как только веб-сайт, который должен быть проксирован, включен. Когда я пытаюсь посетить любой из других виртуальных хостов, я получаю веб-страницу с проксированного веб-сайта. При отключении проксированного веб-сайта все остальные виртуальные хосты возобновляют нормальную работу и обслуживаются локально.
Конфигурация:
Конфигурация, которая у меня есть на общедоступном сервере для виртуальных хостов: (другие виртуальные хосты являются копиями той же конфигурации)
<VirtualHost *:80>
ServerName www.mainsite.com
ServerAlias mainsite.com
ServerAdmin [email protected]
DirectoryIndex index.php
DocumentRoot /var/www/mainsite.com
<Directory />
AllowOverride None
</Directory>
LogLevel info
ErrorLog /var/log/mainsite.com_err.log
CustomLog /var/log/mainsite.com_access.log combined
</VirtualHost>
Конфигурация, которая у меня есть на общедоступном сервере для проксирования виртуального хоста:
<VirtualHost *:80>
ServerName calendar.othersite.com
ServerAdmin [email protected]
ProxyRequests Off
<Location />
ProxyPass http://192.168.0.1/
ProxyPassReverse http://192.168.0.1/
</Location>
<Proxy>
Order Allow,Deny
Allow from all
</Proxy>
TransferLog /var/log/othersite.com_access.log
ErrorLog /var/log/othersite.com_err.log
CustomLog /var/log/othersite.com.log combined
LogLevel debug
</VirtualHost>
решение1
Пытаться
sudo ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled
sudo /etc/init.d/apache2 restart