PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache-Proxy, Weiterleitung von Port 80 auf Webservice 8080



reweiss
23.04.08, 09:35
Hallo ,

ich hoffe in diesem Forum kann mir weitergeholfen werden. Also mein Problem ist folgendes.

Ich habe einen Apache2 auf Debian 4 laufen. Normaler Zugriff auf Webseiten über Port 80. Jetzt habe ich einen kleinen Webservice (nicht Webserver!) programmiert der auf Port 8080 läuft. Wenn ein Client sich über 8080 mit dem Service verbindet funktioniert alles wunderbar. Jedoch würde ich gerne den Service über Port 80 zugänglich machen.

Dazu habe ich einen (reverse) Proxy installiert. Also folgende Module:
* proxy.load
* proxy_http.load
* proxy_html.load
* proxy_connect.load

Dadurch wollte ich erreichen, dass Anfragen auf http://meineip.de/service (also Port 80) auf intern auf Port 8080 weitergeleitet werden. Also http://localip:8080/service
Dazu habe ich folgende Einträge in die VirtualHost gemacht:


<Location /service >
<Limit GET POST OPTIONS PROPFIND>
Allow from all
</Limit>
ProxyPass http://localip:8080/service
ProxyPassReverse http://localip:8080/service
</Location>


Das funktioniert so aber nicht. Wenn ich im Browser meineip.de/service?wsdl eingebe, bekomme ich das ganze XML Zeug ausgegeben. Wenn ein Client jedoch auf den Service zugreifen will, bekomme ich einen Connection Timeout.

Ich hoffe das hier jemand eine Idee hat. Oder eine Andere Möglichekeit einen Webservice über Port 80 freizugeben.

Vielen Dank schonmal

marce
23.04.08, 09:45
Was ist den "Client", wie verbindet er sich, auf was genau greift er zu, ...?

Ansonsten: Die Proxy-Verbindung scheint ja zu funktionieren.

reweiss
23.04.08, 09:49
Hallo also der Service stellt einen RPC Schnittstelle bereit, also eine Funktion die Daten aus einer Datei liest und am Ende einen String zurückliefert.



@WebService
@SOAPBinding(style=Style.RPC)

....


Der Client ruft diese Funktion auf und soll dann den String in einer Datei speichern.

PS: Service und Client sind in Java geschrieben!

marce
23.04.08, 09:51
Läuft der Zugriff von "Client" denn über http?

reweiss
23.04.08, 10:39
Wie meinst Du das?

Also der Client bekommt als Adresse die IP des Webservers + /service,

z.B. http://123.145.789.123/service

Meintest Du das?

reweiss
24.04.08, 10:06
Na weiss keiner mehr Rat?

Ich wäre für jeden Vorschlag dankbar, wie ich ein Webservice über Port 80 veröffentlichen kann!

LG