【问题标题】:Issue in connection while purging in Akamai在 Akamai 中清除时出现连接问题
【发布时间】: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


    【解决方案1】:

    我猜在 Linux 端有一个防火墙阻止了与 akamaiapis.net 域的连接。尝试在同一台 Linux 机器上使用 Akamai CLIHTTPiecurl,看看您是否能够进行 API 调用(参见 https://developer.akamai.com/akamai-101-basics-purging 上的示例)

    如果您能够在运行 Java 代码的同一 Linux 服务器上使用任何 CLI 工具发出清除 API 请求,那么您就知道问题出在 Java 端。

    此外,超时错误可能会掩盖不同的错误,我会尝试打印详细日志记录以获得更多关于错误究竟是什么的提示,因为 AFAIK Akamai API 响应(如果您能够进行 API 调用)会给您一些导致错误的指示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      • 2014-05-16
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多