2016-04-29 7 views
0

Ich kann meinen Apache2-Reverse-Proxy für eine Kontext-Tomcat-Anwendung nicht richtig konfigurieren.Apache2 ProxPassReverse mit Tomcat-Umleitung und Kontext

Ich verwende die URL www.projet-okinawa.ch im Browser, um extern auf die Anwendung zuzugreifen.

Mein tcp-Port 80 wird von iptables auf 8080 geroutet.

(sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080) 

I definiert einen virtuellen Host die URL www.projet-okinawa.ch aus dem Port 8080 und leiten die Anfrage an den SSL-Port zu fangen.

Sie können den Kontext der Webanwendung auf/okinawa festlegen

Meine Tomcat-Konfiguration hört 8080, 8081 und 8443 Tcp-Port.

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" /> 
<Connector port="8081" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" 
      proxyName="www.projet-okinawa.ch" proxyPort="8443" scheme="https" /> 
<Connector port="8443" 
      protocol="org.apache.coyote.http11.Http11NioProtocol" 
      maxThreads="150" 
      SSLEnabled="true" 
      scheme="https" 
      secure="true" 
      clientAuth="false" 
      sslProtocol="TLS" 
      URIEncoding="UTF-8" 
      keystoreFile={keystore} keystorePass={password} /> 

Die Webanwendung wird auf Catalina Localhost-Engine im Kontext/okinawa ausgeführt. Der Kontext wurde nicht mithilfe eines Kontextdeskriptors, sondern durch die automatische Bereitstellung definiert. Die Anwendung wird ordnungsgemäß ausgeführt und ist intern über den Port 8080 zugänglich (Beispiel: http://web.projet-okinawa.org/okinawa/participatewithus.html).

Beim Zugriff auf den Proxy über www.projet-okinawa.ch habe ich einen HTTP-Status 404 -/okinawaokinawa/exception.

Ich habe viele verschiedene Möglichkeiten getestet, den Reverse-Proxy zu konfigurieren, aber ohne Erfolg. Ich verstehe nicht, warum die zurückkehrende URL nicht auf www.projet-okinawa.ch ohne den Kontext kopiert wird, der dupliziert scheint.

Jede Hilfe ist willkommen.

Antwort

0

Ich fand meinen Fehler durch aufmerksames Lesen http://httpd.apache.org/docs/current/mod/mod_proxy.html.

"Wenn das erste Argument mit einem abschließenden/endet, sollte das zweite Argument auch mit einem abschließenden/enden und umgekehrt. Andernfalls können die resultierenden Anforderungen an das Back-End einige benötigte Schrägstriche verpassen und nicht die erwarteten Ergebnisse liefern . "

ProxyPass/http://web.projet-okinawa.org:8081/okinawa/ 
ProxyPassReverse/http://web.projet-okinawa.org:8081/okinawa/ 

löste mein Problem.