使用WebLogic 11g实现代理

时间:2014-11-17 23:13:02

标签: java weblogic-10.x

我正在使用WebLogic server 10.x(11g)来部署和维护我的应用程序。但是,我们的生产环境包含一个代理服务器,如果我尝试访问某些站点,会导致麻烦 因此,我想知道是否有任何可行的解决方案可以通过在我们的

上配置代理服务器详细信息来解决此问题
  1. WebLogic环境
  2. 应用程序级别 - 我正在使用Java开发我的应用程序


提前谢谢。

2 个答案:

答案 0 :(得分:2)

有两种方法可以实现这一目标。

  1. 配置WebLogic环境
  2. 通过编程

让我们来看看这些。
Application Server中的代理配置 让我们以WebLogic应用服务器来说明所需的配置

将WebLogic Server配置为启用代理

1.使用WebLogic管理控制台
  1. 登录管理控制台
  2. 转到域名 - >环境 - >服务器 - >管理服务器 - >配置 - >服务器启动
  3. 内部参数部分输入以下内容并保存。 -jvmargs -Dhttp.proxySet=true -Dhttp.proxyHost=server_url -Dhttp.proxyPort=port
  4. 重新启动WebLogic Server

  5. 2.使用WebLogic启动脚本
    1. 打开WebLogic域配置脚本
    2. 搜索以下短语“JAVA_OPTIONS”
    3. 之后输入以下详细信息。 set JAVA_OPTIONS=%JAVA_OPTIONS% -Dhttp.proxyHost=server_url -Dhttp.proxyPort=port
    4. 保存脚本并启动WebLogic服务器

    5. 以编程方式使用

      有几种可用的实现,让我们讨论一些我认为有用的方法。

      使用值进行代理配置

      如下面的重点,您可以使用应用程序内部的编程定义值来配置代理。

      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

参见下一个链接

Configure WebLogic Proxi