具有Azure事件中心代理支持的WebSocket绕过了代理配置

时间:2019-05-18 11:15:40

标签: azure proxy azure-eventhub

我正在尝试为Azure事件中心启用代理,并关注此博客:https://blogs.msdn.microsoft.com/eventhubs/2018/09/21/azure-event-hubs-websockets-and-proxy-support/

  1. 我已经设置了transportType: connectionStringBuilder.setTransportType(TransportType.AMQP_WEB_SOCKETS);

  2. 我试图同时设置proxyHost和proxyPort,

    System.setProperty("http.proxyHost","WrongIP"));
    System.setProperty("http.proxyPort","WrongPort")); 
    

java -Dhttp.proxyHost=ipAddress -Dhttp.proxyPort=8080

在这两种情况下,如果我的代码中的IP或端口错误,eventHub客户端将超过上述配置,并能够通过Internet进行通信。

我的问题是:

  1. API如何知道通过互联网进行通信的正确IP和端口?
  2. 使用以下代码时:

    ProxySelector.setDefault(new ProxySelector() {            
               @Override            
               public List<Proxy> select(URI uri) {                
                  LinkedList<Proxy> proxies = new LinkedList<>();                
                  proxies.add(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyIpAddressStr, proxyPort)));                
                  return proxies;     
              } 
              @Override
              public void connectFailed(URI uri, SocketAddress sa, IOException ioe) {
                  // trace and follow up on why proxy server is down
              } 
          }); 
    

当我指定了错误的IP或端口时,我能够阻止。

0 个答案:

没有答案