微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅通过代理进行 Azure 调用

如何解决仅通过代理进行 Azure 调用

我正在尝试让我的 Azure 实例使用代理服务器来处理他发出的所有调用。 我正在创建一个 azure 实例: Azure azure = Azure.configure().withProxy(createProxy(hasProxy)).authenticate(credentials).withSubscription(subscriptionId)

我的创建代理方法

    private static Proxy createProxy(String hostPort) throws ServiceWareException {
        String[] arr = hostPort.split(":");
        String host = arr[0];
        String port = arr[1];
        SocketAddress addr = new InetSocketAddress(host,Integer.parseInt(port));
        return new Proxy(Proxy.Type.HTTP,addr);
    }

执行此操作后,我可以在我的代理服务器调用中看到 login.microsoftonline.com:443. 问题是这是 Azure 唯一一次通过我的代理进行调用

我列出了虚拟机、网络观察者、负载平衡等... 我之前创建的带有 azure 变量的所有内容

编辑: 更准确地说,我认为 azure 在执行上述操作时仅通过我的代理服务器发出一个请求是没有意义的,所以我想找出原因。

解决方法

关于问题,请参考以下代码

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(clientId,tenant,clientSecret,AzureEnvironment.AZURE);
        credentials.withProxy(createProxy());

        Azure azure = Azure.configure()
                .withProxy(createProxy())
                .withLogLevel(LogLevel.BODY_AND_HEADERS)
                .authenticate(credentials)
                .withSubscription(subId);

private static Proxy createProxy() {

        SocketAddress addr = new InetSocketAddress("",Integer.parseInt(""));
        return new Proxy(Proxy.Type.HTTP,addr);

    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。