为 Tomcat Web 服务器设置 HTTP 代理

为 Tomcat Web 服务器设置 HTTP 代理

基本上,我试图通过公司代理/防火墙(我无法直接控制)从 Tomcat 服务器进行 SOAP 调用,我尝试将信息添加到 catalina.properties 文件中,如下所示:

http.proxyPort=80
http.proxyHost=www-proxy.company.com

我仍然在 stdout 日志中收到超时信息。我还需要做其他事情吗?如果不需要,还有其他方法可以测试 SOAP 调用吗?

答案1

如果您还没有 setenv.sh(如果运行 Windows,则创建 setenv.bat),请创建一个,并添加以下 java 选项:

JAVA_OPTS="-Dhttp.proxySet=true -Dhttp.proxyHost=<proxy_hostname> -Dhttp.proxyPort=<port_number> -Dhttp.nonProxyHosts=<domain_one>|<domain two> $JAVA_OPTS"

这应该可以很好地工作。

答案2

您可以实施HTTP 代理https 代理非 http 代理雄猫。您需要更新两个文件,即../bin/Catalina.sh./conf/cataliana.properties。。

详细配置和步骤如下:http://w3devops.com/add-http-https-proxy-http-non-proxy-jenkins-via-tomcat-server/

答案3

如果您只需要通过代理进行 soap 调用,则可以使用 jproxyloader。使用此库,您可以通过代理传递 soap 调用,而所有其他调用都不会使用代理。请参阅http://jproxyloader.sourceforge.net/examples/web-application-on-tomcat.html以完成设置。

答案4

为了使 tomcat 在我的 docker 容器内运行,我使用了以下设置:

JAVA_OPTS=-Dhttps.proxyHost=PROXYHOST -Dhttps.proxyPort=PROXYPORT -DproxySet=true -DproxyHost=PROXYHOST -DproxyPort=PROXYPORT

相关内容