# ProxyPass auf Tomcatport mit Xampp unter Windows 7



## nieselfriem (21. Dez 2012)

Hallo 

Ich habe xampp installiert und möchte den dazu mit installierten Tomcat nutzen. Der Apache läuft standardmäßig auf Port 80 und der Tomcat auf 8080. Nun habe ich wie üblich ein Virtuellen Host einrichten wollen der per Proxypass alle Anfragen von 80 auf den Tomcat umleitet.


```
<VirtualHost *:80>  
        ProxyRequests Off  
        ProxyPreserveHost On  
        <Proxy *>  
           Order allow,deny  
           Allow from all  
        </Proxy>  
        ProxyPass / http://localhost:8080/  
        ProxyPassReverse / http://localhost:8080/  
        ErrorLog c:/xampp/tomcat/logs/yourdomain.com-error_log  
        CustomLog  c:/xampp/tomcat/logs/yourdomain.com-access_log common  
      
    </VirtualHost>
```

Ruf ich nun localhost auf kommt es nur zu einem Internen Servererror und in der yourdomain.com-error_log steht folgendes:


```
[Fri Dec 21 17:20:14 2012] [warn] proxy: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
[Fri Dec 21 17:20:14 2012] [warn] proxy: No protocol handler was valid for the URL /error/HTTP_INTERNAL_SERVER_ERROR.html.var. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
```

Auf einem Linux-Server habe ich es genau so eingerichtet und es funktionierte auf Anhieb. Was mach ich unter Windows falsch 

Grüße


----------



## nillehammer (21. Dez 2012)

Du musst in der httpd.conf das Modul mod_proxy_http laden. Der Hinweis darauf steckt etwas verklausuliert in der Fehlermeldung:

```
proxy: No protocol handler was valid for the URL /error/HTTP_INTERNAL_SERVER_ERROR.html.var. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule <-- DA!
```
Und wo Du gerade dabei bist, schau Dir mal mod_proxy_ajp an. Das kann genauso genutzt werden. Es macht die Kommunikation zwischen Httpd und Tomcat aber wesentlich effizienter. Auf Tomcat-Seite gibt es dafür auch den passenden Konnektor.


----------



## nieselfriem (21. Dez 2012)

werden laut config geladen allerdings steht nun in der error.log der Fehler 

```
End of file found: ajp_ilink_receive() can't receive header
```
 

Versuch ich das gleiche Spiel mit ajp


```
<VirtualHost *:80>  
        ProxyRequests Off  
        ProxyPreserveHost On  
        <Proxy *>  
           Order allow,deny  
           Allow from all  
        </Proxy>  
        ProxyPass / ajp://localhost:8080/  
        ProxyPassReverse / ajp://localhost:8080/  
        ErrorLog c:/xampp/tomcat/logs/yourdomain.com-error_log  
        CustomLog  c:/xampp/tomcat/logs/yourdomain.com-access_log common  
     </VirtualHost>  

Kommt es zu dieser Fehlermeldung
```


```
[Fri Dec 21 17:41:37 2012] [error] ajp_read_header: ajp_ilink_receive failed
[Fri Dec 21 17:41:37 2012] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost)
[Fri Dec 21 17:41:57 2012] [error] ajp_read_header: ajp_ilink_receive failed
[Fri Dec 21 17:41:57 2012] [error] (120006)APR does not understand this error code: proxy: read response failed from (null) (localhost
```


----------



## nillehammer (21. Dez 2012)

Nochmal zum Ursprungsproblem. Du sagst also, dass Du ganz sicher sowas in der httpd.conf (oder einer anderen includierten conf) hast?:

```
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
```
Und trozdem kommt die Fehlermeldung?

[EDIT]Und AJP funktioniert nur, wenn Du im Tomcat den AJP-Connector auf den zu Forwardenden Port konfigurierst (Apache Tomcat 7 Configuration Reference (7.0.34) - The AJP Connector). Apache AJP auf Tomcat HTTP-Connector geht natürlich nicht.[/EDIT]


----------



## nieselfriem (21. Dez 2012)

richtig lesen sollte man können 
LoadModule proxy_module modules/mod_proxy.so war geladen
aber nicht LoadModule proxy_http_module modules/mod_proxy_http.so

Nun läufts mit http
ajp guck ich mir noch in ruhe an

Danke


----------

