【问题标题】:Is there a policy for DNS look-up in Apigee?Apigee 中是否有针对 DNS 查找的政策?
【发布时间】:2014-04-19 05:55:18
【问题描述】:

是否有在 Apigee 中启用 DNS 查找的政策?我浏览了文档和教程,但没有找到解决方案。

【问题讨论】:

  • 有什么理由需要仅用于 DNS 查找的策略?
  • 用例是这样的:在 JavaScript 中有一个调用,从一个 API 代理到另一个已为服务配置的 API 代理。根据响应(包含 URL),处理完成并覆盖第一个 API 代理中的 target.url 以将调用路由到正确的主机。如果发生故障,需要进行 DNS 查找以获取第二个 API 代理到达的目标端点的 IP,这将用于重写第一个中的 target.url。

标签: dns apigee


【解决方案1】:

您可以调用 statdns.com 并获取 JSON 有效负载:

http://api.statdns.com/{domain name}/a

例如:

http://api.statdns.com/apigee.com/a

{
"question": [
    {
        "name": "apigee.com.",
        "type": "A",
        "class": "IN"
    }
],
"answer": [
    {
        "name": "apigee.com.",
        "type": "A",
        "class": "IN",
        "ttl": 60,
        "rdlength": 4,
        "rdata": "184.72.221.111"
    }
],
"authority": [
    {
        "name": "apigee.com.",
        "type": "NS",
        "class": "IN",
        "ttl": 86400,
        "rdlength": 20,
        "rdata": "ns3.p25.dynect.net."
    },
    {
        "name": "apigee.com.",
        "type": "NS",
        "class": "IN",
        "ttl": 86400,
        "rdlength": 6,
        "rdata": "ns4.p25.dynect.net."
    },
    {
        "name": "apigee.com.",
        "type": "NS",
        "class": "IN",
        "ttl": 86400,
        "rdlength": 6,
        "rdata": "ns1.p25.dynect.net."
    },
    {
        "name": "apigee.com.",
        "type": "NS",
        "class": "IN",
        "ttl": 86400,
        "rdlength": 6,
        "rdata": "ns2.p25.dynect.net."
    }
  ]
}

【讨论】:

    【解决方案2】:

    没有简单地执行 DNS 查找的策略。在 Apigee 的付费版本中,这可以使用简单的 JavaCallout 构建。

    【讨论】:

    • 请您给我举个例子来说明如何做到这一点?我可以访问 Apigee 的付费版本。
    • 取决于您是否需要指向特定的 DNS 服务器。如果任何 DNS 服务器都可以满足您的目的,您可以将 Michael B. 的以下示例与公共 DNS API 一起使用。在 java 中,无需指定名称服务器,您可以使用 InetAddress 类使用 Apigee 配置使用的名称服务器进行查找。 -- docs.oracle.com/javase/7/docs/api/java/net/…
    猜你喜欢
    • 2014-03-07
    • 1970-01-01
    • 2014-01-30
    • 2022-07-11
    • 1970-01-01
    • 2014-01-12
    • 2012-03-13
    • 1970-01-01
    • 2016-06-20
    相关资源
    最近更新 更多