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

java.net.UnknownHostException: googleapis

如何解决java.net.UnknownHostException: googleapis

我的 Spring Boot 应用程序能够调用 Google pub sub API 并按预期完美运行,但前提是它不在代理后面。

我希望将我的应用部署在需要代理进行出站 HTTP 调用的本地数据中心。

  1. 我在我的环境中使用了 HTTPS_PROXY。它不起作用
  2. 我在我的环境中使用了 grpc_proxy。它不起作用

得到这个异常

Caused by: java.net.UnkNownHostException: pubsub.googleapis.com
    at java.base/java.net.InetAddress$CachedAddresses.get(InetAddress.java:797)
    at java.base/java.net.InetAddress.getAllByName0(InetAddress.java:1505)
    at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1364)
    at java.base/java.net.InetAddress.getAllByName(InetAddress.java:1298)
    at io.grpc.internal.DnsNameResolver$JdkAddressResolver.resolveAddress(DnsNameResolver.java:631)
    at io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:219)

有没有其他方法可以为谷歌库注入代理?

解决方法

对此有一个解决方案。正如前面提到的 here,我们必须使用 GRPC_PROXY_EXP

我用这种方式 GRPC_PROXY_EXP=internet.company.com:93 并且效果很好

,

grpc-java 和许多 Java HTTP 库使用 Java-standard -Dhttps.proxyHost=HOST/-Dhttps.proxyPort=PORT 来配置代理服务器的使用。

您不能使用环境变量来配置它们。通常只在命令行上传递 -D。如果您想全局配置它,您可以在 JRE 中更改 lib/net.properties

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