Tomcat- und Proxy-Einstellungen

8

Es gibt ein Servlet, das auf tomcat7 ausgeführt wird und einen Webservice-Aufruf an eine Website eines Drittanbieters ausführt. Der Anruf funktioniert gut von der Windows-Maschine, aber wenn er von Tomcat ausgeführt wird, schlägt er fehl. Wont Tomcat verwendet automatisch die Proxy-Einstellungen von Windows? Ich habe

hinzugefügt %Vor%

zu CATALINA.BAT und

%Vor%

zu catalina.properties Aber es gibt immer noch keine Veränderung. Wie stellen wir Tomcat ein, um die Proxy-Einstellungen von Windows zu verwenden und gibt es eine Möglichkeit zu überprüfen, ob Tomcat die Proxy-Einstellungen übernimmt?

    
icedek 06.09.2012, 23:24
quelle

6 Antworten

0

Nein, Tomcat wird die System-Proxy-Einstellungen nicht automatisch verwenden.

Ich schlage vor, Sie schauen sich die Einrichtungen an, die von java.net.Proxy zur Verfügung gestellt werden. Auf diese Weise können Sie zur Laufzeit dynamisch einen Proxy angeben. Die Systemeigenschaften funktionieren, aber sie werden nur einmal gelesen, und wenn Tomcat bereits einen HttpURLConnection für seine eigenen Zwecke verwendet hat, bevor Sie sie setzen, ist das das Ende: Die Einstellung hat keine Auswirkung.

    
EJP 07.09.2012, 12:16
quelle
22

Ich stimme der Verwendung von java.net.Proxy nicht zu.

Was passiert, wenn Sie es ändern müssen? Neuer Build, neue Version. Die Einstellung des Proxy sollte einfach sein. Es funktioniert gut mit beiden Systemeigenschaften oder tomcat JAVA_OPTS. Ich habe es auf beide Arten benutzt. Passen Sie einfach auf und stellen Sie sicher, dass Sie wissen, was JAVA_OPTS geladen ist, welches Java verwendet wird und so weiter, da es Tomcats gibt, die ihre eigene Java-Version haben. In Bezug auf den vorherigen Beitrag gibt es keine Möglichkeit, dass Java verwendet werden kann, bevor es geladen wurde :). Tomcat kann es also nicht verwenden, bevor die Systemeigenschaften verwendet werden ... nur wenn tomcat eine andere JRE verwendet, die keine Systemeigenschaften liest.

Ich teste gerade dieses Setup:

%Vor%

in catalina.bat und funktioniert gut.

    
Nicolae Petridean 22.01.2013 08:41
quelle
4

Bei der Angabe der Proxy-Einstellungen müssen Sie den Namen des Proxy-Servers wie folgt definieren:

%Vor%     
Satheesh 23.11.2012 08:07
quelle
3

Erstellen Sie eine /bin/setenv.sh (für WINDOWS \ bin \ setenv.bat):

%Vor%

HINWEIS : Wenn Sie bereits setenv.sh/setenv.bat haben, können Sie eine Zeile mit dem obigen Befehl hinzufügen. Das Tomcat-Startskript führt das setenv-Skript automatisch aus, bevor eine Tomcat-Instanz gestartet wird.

    
Amit Kaneria 16.02.2016 22:01
quelle
2

Sie können HTTP-Proxy, HTTPS-Proxy und Nicht-HTTP-Proxy auch in tomcat implementieren. Sie müssen zwei Dateien aktualisieren, d. H. ../bin/Catalina.sh und ../ conf / cataliana.properties.

Detaillierte Konfiguration und Schritte werden hier erwähnt: Ссылка

    
SKR 04.07.2016 07:22
quelle
0

Sie können die jProxyLoader-Bibliothek verwenden. Mit dieser Lib können Sie Tomcat so konfigurieren, dass nur Proxy für Verbindungen zu bestimmten Hosts verwendet wird. In Ihrem Fall können Sie Tomcat so konfigurieren, dass es nur für Verbindungen zum Host, der den Webservice bedient, über einen Proxy geht (alle anderen Verbindungen werden von Tomcat "normal" - ohne Proxy) behandelt.

Das vollständige Setup wird auf der Projektwebsite erklärt: Ссылка

    
walkeros 04.08.2014 08:23
quelle

Tags und Links