У меня работает балансировщик нагрузки прокси-сервера apache. У меня есть домен wiki.mydomain.com
зарегистрирован на этот фунт. Я пытаюсь выполнить перенаправление прокси с wiki.mydomain.com
на бэкэнд http://192.168.1.56/mediawiki/
а ниже - виртуальный хостинг.
<VirtualHost *:80>
ServerName wiki.mydomain.com
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPreserveHost On
ProxyVia On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.1.56/mediawiki/
ProxyPassReverse / http://192.168.1.56/mediawiki/
</IfModule>
</VirtualHost>
Зачем ProxyPass / http://192.168.1.56/mediawiki/
не работает почему ТОЛЬКО ProxyPass /mediawiki http://192.168.1.56/mediawiki/
работает какой соответствующий каталог. Могу ли я заставить его работать с указанным выше виртуальным хостингом?
Еще раз, как мне отправить все запросы из wiki.mydomain.com
к http://192.168.1.56/mediawiki/
только с mod_proxy
Без использования Redirect
, Rewrite
, Alias
. Я также не хочу использовать виртуальный хостинг, созданный для mediawiki
на 192.168.1.56
и поэтому я не хочу проксировать /
к виртуальному хостингу на бэкэнде, поскольку мне нужно зарегистрировать домен для этого бэкэнда, возможно, не требуется, если есть внутренний DNS-сервер, но у меня нет внутреннего DNS-сервера.
Кто-нибудь знает, как это сделать с помощью ProxyPass и ProxyPassReverse ?. Спасибо!
Не могли бы вы уточнить «не работает» - что произойдет, если у вас есть эта конфигурация и вы попытаетесь запросить страницу?
Если я правильно помню, вам нужно изменить конфигурацию MediaWiki, чтобы она работала по измененному пути, так как он очень чувствителен к этим вещам. Ему нужно знать, где находится корень, и прямо сейчас он находится в /../
- что обязательно вызовет проблемы с загрузкой ресурсов.
Вам нужно будет настроить $wgScriptPath
и $wgArticlePath
настройки конфигурации в LocalSettings.php
, имея в виду, что это нарушит связь всего, что обращается к вики-серверу напрямую, без использования прокси (любые ссылки и т. д., указывающие на /mediawiki/something
). Если что-то действительно нужно говорить напрямую, а не через прокси, вам нужно будет согласовать пути через обе точки входа.