Назад | Перейти на главную страницу

прокси-сервер mod_proxy и перенаправление на определенный путь

Сегодня у меня есть два сервера Apache, сервер A (192.168.0.5), сервер B (192.168.0.10), оба работают на одном 80-м порте.

Фактический запрос поступает с сервера a, и с моей конфигурацией он передается на сервер b (с использованием mod_proxy), это работает.

Конфигурация сервера A:

NameVirtualHost *
<VirtualHost *>
    ServerName owncloud.mydomain.com

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://192.168.0.10:80/
    ProxyPassReverse / http://192.168.0.10:80/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

когда я обращаюсь к mycloud.mydomain.com, запрос получает доступ с помощью СЕРВЕРА A, но с прокси-сервером он «проксирует» на сервер B, а затем я вижу контент на сервере B, это здорово, но теперь мой контент находится на mycloud.mydomain.com / owncloud, я не знаю, как этот URL можно проксировать и перенаправлять, используя только mycloud.mydomain.com.

Это другая конфигурация, которую я использую на своем сервере A для использования mod_proxy

 RewriteCond %{HTTP_HOST}   ^mycloud\.mydomain\.com$ [NC]
 RewriteRule   ^/(.*)$ http://mycloud.mydomain.com/$1  [P]

Я хочу, чтобы при доступе пользователя к mycloud.mydomain.com перенаправление mod_proxy и прокси на mycloud.mydomain.com/owncloud.

Как я могу это сделать?


ОТредактировано мной

Моя новая конфигурация:

RewriteCond %{HTTP_HOST}   ^owncloud\.mydomain\.com$ [NC]
RewriteRule ^/(.*)$ http://192.168.0.10:80/owncloud/$1 [P,L]
ProxyPassReverse / http://192.168.0.10:80/owncloud/

Я перенаправляюсь на owncloud.mydomain.com, но страницы плохо отображаются (например, некоторые CSS не загружаются), но если я просто добавлю / owncloud, все будет работать, но я не хочу, чтобы пользователь добавил / owncloud. Это не работает должным образом, я что-то делаю не так?

Слегка измените проксирование, используя следующие строки:

 RewriteRule ^/(.*)$ http:///192.168.0.10:80/owncloud/$1 [P,L]
 ProxyPassReverse / http://192.168.0.10:80/owncloud/

Эти строки должны заменить эти строки:

ProxyPass / http://192.168.0.10:80/
ProxyPassReverse / http://192.168.0.10:80/

Вышеупомянутые строки говорят, что соединения входят в / перейти к http:///192.168.0.10:80/owncloud/ (RewriteRule) и что соединения возвращаются с прокси-сервера /owncloud/ переписать на / (ProxyPassReverse).

Я работаю над той же проблемой. Я думаю, что конфигурация apache правильная, но вам нужны некоторые изменения в config.php owncloud, например

'overwritehost' => 'apacheVhost.domain.com',