我正在使用WebLogic server 10.x(11g)来部署和维护我的应用程序。但是,我们的生产环境包含一个代理服务器,如果我尝试访问某些站点,会导致麻烦 因此,我想知道是否有任何可行的解决方案可以通过在我们的
上配置代理服务器详细信息来解决此问题
提前谢谢。
答案 0 :(得分:2)
有两种方法可以实现这一目标。
让我们来看看这些。
Application Server中的代理配置
让我们以WebLogic应用服务器来说明所需的配置
-jvmargs -Dhttp.proxySet=true -Dhttp.proxyHost=server_url -Dhttp.proxyPort=port
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dhttp.proxyHost=server_url -Dhttp.proxyPort=port
有几种可用的实现,让我们讨论一些我认为有用的方法。
使用值进行代理配置如下面的重点,您可以使用应用程序内部的编程定义值来配置代理。
System.setProperty("http.proxyHost", "proxy_url");
System.setProperty("http.proxyPort", "port");
使用用户凭据进行配置
有时您可能需要提供准确的凭据才能通过代理服务器。这是一个实现,它将帮助您实现这一目标。
import java.net.Authenticator;
import java.net.PasswordAuthentication;
public class MyAuthenticator extends Authenticator {
private String username;
private String password;
public MyAuthenticator(String username, String password){
this.username = username;
this.password = password;
}
public PasswordAuthentication getPasswordAuthentication () {
return new PasswordAuthentication (username, password.toCharArray());
}
}
定义的Authenticator类可用于将凭据注入代理配置,如下所示。
System.setProperty("http.proxyHost", "proxy_url");
System.setProperty("http.proxyPort", "port");
Authenticator.setDefault (new MyAuthenticator("domain_name\\user_name","password"));
在任何一种情况下,您都需要在程序级实现如下所示的用法。否则,代理通信将无法成功并最终导致异常。
final URL url = new URL(null, urlString, new sun.net.www.protocol.http.Handler());
答案 1 :(得分:0)
要配置WebLogic代理文件,请修改位于域的bin文件夹中的setDomainEnv.cmd(Windows)。
例如,集成服务器就在这里
C: \ Users \ [YOUT USER NAME] \ AppData \ Roaming \ JDeveloper \ system11.1.1.4.37.59.23 \ DefaultDomain \ bin
必须将以下属性存档,并附上代理的详细信息
@REM Estableciendo proxi
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dhttp.proxySet=true -Dhttp.proxyHost=192.168.101.11 -Dhttp.proxyPort=8080 -Dhttp.nonProxyHosts=localhost
参见下一个链接