2014-11-10 10 views
13

I Konfiguration des virtuellen Host verfolgt haben. Das gewünschte Ergebnis ist:Ausschließen einen Alias ​​von Virtualproxypass

  1. Wenn jemand fordert http://test.myserver.com/myapp, Apache dient ihn von/var/www/myapp
  2. Und wenn http://test.myserver.com/ ist angefordert, Apache leitet es an Port 8069.

2. arbeitet, aber 1. nicht. Kann mir bitte jemand helfen!

<VirtualHost *:80> 
     ServerName test.myserver.com 

     Alias /myapp /var/www/myapp 
     <Directory /var/www/myapp> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       Allow from all 
     </Directory> 

     ProxyPass/http://localhost:8069/ 
     ProxyPassReverse/http://localhost:8069/ 

</VirtualHost> 

Antwort

30

Dies ist, wie ich in der Lage war, das gewünschte Ergebnis achive. Es folgt die Arbeitskonfiguration, wo ProxyPassMatch ^/myapp ! den Trick und mit Ausnahme der (Server-Adresse)/myapp, alle Anfragen werden Proxying auf den anderen Server, die Open-erp ist im Hafen läuft 8069:

<VirtualHost *:80> 
     ServerName test.myserver.com 

     Alias /myapp /var/www/myapp 
     <Directory /var/www/myapp> 
       Options Indexes FollowSymLinks MultiViews 
       AllowOverride None 
       Order allow,deny 
       Allow from all 
     </Directory> 

     ProxyPassMatch ^/myapp ! 
     ProxyPass/http://localhost:8069/ 
     ProxyPassReverse/http://localhost:8069/ 


    CustomLog /var/log/apache2/access.log common 
    ErrorLog /var/log/apache2/error.log 

</VirtualHost> 
+1

Sehr nützlich in Kombination mit encrypt Überprüfung der virtuellen Hosts Lassen Sie sich die Reverse Proxy verwenden, wollen aber trotzdem automatischen überprüfen verwenden, z. G. Alias ​​/.well-known "C: /apache24/htdocs/.well-known" \t \t \t \t \t ... \t – AndyB

+0

@ AndiB Das Problem ist, dass ProxyPass nicht verwenden kann. Nur und das funktioniert nicht mit Alias. Suche nach einer Lösung ... – ygoe

+1

Hier ist eine gründlichere Empfehlung config: https://github.com/certbot/certbot/issues/2164 - Der Schlüssel ist 'Proxypass/path/url' zu verwenden und nicht' Proxypass wie zuvor. Jetzt funktioniert es für mich. – ygoe

8

statt Verwendung: ProxyPassMatch ^/myapp ! Sie einfach könnte eine andere Proxypass vor das eine Definition von /, wie diese hinzugefügt:

ProxyPass /myapp ! 
ProxyPass/http://localhost:8069/ 

Da Proxypass Vorrang respektiert (das erste Spiel verarbeitet werden), wird es richtig in das Verzeichnis statt proxying umleiten .

Verwandte Themen