Menu Close
10.3.4.2. API 网关是否正确解析 3scale 地址?
确保已将 resolver 指令添加到 nginx.conf 中。
例如,在 nginx.conf 中:
http { lua_shared_dict api_keys 10m; server_names_hash_bucket_size 128; lua_package_path ";;$prefix/?.lua;"; init_by_lua 'math.randomseed(ngx.time()) ; cjson = require("cjson")'; resolver 8.8.8.8 8.8.4.4;
您可以将 Google DNS(8.8.8.8 和 8.8.4.4)替换为您首选的 DNS。
要从 API 网关检查 DNS 解析,请按指定解析器 IP 调用 nslookup:
nslookup su1.3scale.net 8.8.8.8 ;; connection timed out; no servers could be reached
上面的例子显示了如果无法到达 Google DNS,则返回的响应。如果出现这种情况,您必须更新解析器 IP。您可能还会在 nginx error.log 中看到以下警报:
2016/05/09 14:15:15 [alert] 9391#0: send() failed (1: Operation not permitted) while resolving, resolver: 8.8.8.8:53
最后,运行 dig 任何 su1.3scale.net
以查看 3scale 服务管理 API 当前运行的 IP 地址。请注意,这不是 3scale 可能使用的整个 IP 地址范围。些可能因为容量原因而被交换和移出。此外,未来您可以为 3scale 服务添加更多域名。对于这一点,您应该始终针对集成期间为您提供的特定地址进行测试(如果适用)。