【发布时间】:2020-04-14 22:12:35
【问题描述】:
用例:
我正在使用 java 程序通过 CPCode 和 URL 进行清除。下面的代码用于连接和清除 Akamai。
credential = ClientCredential.builder().accessToken(Constants.ACCESS_TOKEN).
clientToken(Constants.CLIENT_TOKEN).clientSecret(Constants.CLIENT_SECRET).host(Constants.HOST).build();
transBuilder = new ApacheHttpTransport.Builder();
httpTransport = transBuilder.doNotValidateCertificate().build();
requestFactory = httpTransport.createRequestFactory();
uri = URI.create(“https://control.akamai.com/ccu/v3/delete/cpcode/production”);
requestBody = "{\"objects\": ["+cpCodes+"]}";
request = requestFactory.buildPostRequest(new GenericUrl(uri),ByteArrayContent.fromString("application/json", requestBody));
requestSigner = new GoogleHttpClientEdgeGridRequestSigner(credential);
requestSigner.sign(request);
response = request.execute();
PS:ACCESS_TOKEN、CLIENT_TOKEN、CLIENT_SECRET 和 HOST 分别在不同的 Constants.java 中定义
字符串主机 = “akab-tmpyt2prlt4zzld2-zvmyfb6ishptaqxc.purge.akamaiapis.net”;
问题: 此代码在我的 Windows 机器(我的个人计算机,即家庭 Wi-Fi)上运行良好,但是当我在 Linux(客户端安全网络)机器上运行相同的代码时,出现以下错误: 连接到 akab-tmpyt2prlt4zzld2-zvmyfb6ishptaqxc.purge.akamaiapis.net:443 超时
到目前为止我的分析:
我可以看到这是关于 Linux(客户端安全网络)的超时问题,而从 Windows(公共网络)来看,它从不抱怨它。我在 Linux 中为此 HOST 运行 nslookup 命令,它运行良好,即能够解析 DNS。但是当我在 Linux 上尝试 wget 或 curl 命令时,它会显示超时问题。我看到我的 Linux 机器正在使用代理连接到 Internet。
之前我认为我的 Linux 机器无法运行 (akab-tmpyt2prlt4zzld2-zvmyfb6ishptaqxc.purge.akamaiapis.net) 但后来我发现我的 Windows 都无法运行连接 (akab-tmpyt2prlt4zzld2-zvmyfb6ishptaqxc.purge.akamaiapis.net)。在这两种情况下,我都收到了 400 Bad request。所以我推断这四个 ACCESS_TOKEN、CLIENT_TOKEN、CLIENT_SECRET 和 HOST 只结合在一起工作。
现在我正试图找出 Linux 的突破点。我可以要求代理团队添加/允许一些 URL。请提出建议。
【问题讨论】:
标签: java linux proxy akamai purge