2015-09-30 2 views
0

Я пытаюсь заставить Plex и OwnCloud работать с Apache. В настоящее время у меня Plex настроен правильно, запросы от http://server.com/ переписываются и проксируются до localhost:32400/web/. Достичь этого со следующей конфигурацией:Apache переписывает несколько REQUEST_URI

<VirtualHost *:80> 
    ServerName mattstv.xyz 
    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 

    RewriteEngine On 

    RewriteCond %{REQUEST_URI} ^/owncloud$ 
    RewriteCond %{HTTP:X-Plex-Device} ^$ 
    RewriteRule ^/$ /web/$1 [P,R] 

    ProxyRequests Off 
    ProxyPreserveHost On 
    ProxyPass/http://127.0.0.1:32400/ 
    ProxyPassReverse/http://127.0.0.1:32400/ 
</VirtualHost> 

Я хочу, чтобы сохранить эту установку, как он держит мою семью от путаться, когда они видят 32400/web/index.html в своем браузере.

Я добавил OwnCloud на сервер, и я пытаюсь получить http://server.com/owncloud, чтобы НЕ проксироваться или переписываться. У меня есть правило для проверки /owncloud в REQUEST_URI, но оно не работает.

я получаю следующий ответ, когда собирается http://server.com/owncloud

<MediaContainer size="0" content="plugins"></MediaContainer>

Похоже, это тянет на главную страницу вверх, но ни один из сценариев не разделяющим на основе отладчика:

chrome debugger

Когда я полностью отключу виртуальный хост, URL-адрес OwnCloud работает правильно.

От чтения документации Apache Я считаю, что прокси не произойдет, если условия перезаписи не будут выполнены?

ответ

0

Получил его работу с Plex, OwnCloud и SyncThing. Я добавил несколько команд ProxyPass для каждого URL-адреса, который я хотел прокси.

OwnCloud прослушивает порт 80, поэтому ему необходимо обойти прокси-сервер. SyncThing требует концевой косой черты после URL-адреса

<VirtualHost *:80> 
    ServerName server.com 
    ProxyRequests Off 
    ProxyPreserveHost On 

    #let owncloud pass straight through 
    ProxyPass /owncloud ! 

    #syncthing doesn't work without a trailing slash in browser URL 
    RewriteRule ^/syncthing$ /syncthing/ [R] 
    ProxyPass /syncthing/ http://127.0.0.1:8384/ 
    ProxyPassReverse /syncthing/ http://127.0.0.1:8384/ 

    #default go to plex 
    ProxyPass/http://127.0.0.1:32400/ 
    ProxyPassReverse/http://127.0.0.1:32400/ 

    RewriteEngine on 
    RewriteCond %{REQUEST_URI} !^/web 
    RewriteCond %{HTTP:X-Plex-Device} ^$ 
    RewriteRule ^/$ /web/$1 [R,L] 
</VirtualHost> 
Смежные вопросы