【问题标题】:Using InetAddress to find DNS host name on heroku使用 InetAddress 在 heroku 上查找 DNS 主机名
【发布时间】:2015-06-03 01:08:05
【问题描述】:

我正在尝试获取我在 Heroku 中运行的机器的主机名。我想得到的是这样的:https://gentle-hollows-7643-243.com

我现在使用的是InetAddress 类中的getCannoncialHostName。这给了我这样的价值:

String hostName = java.net.InetAddress.getLocalHost.getCannonicalHostName
//returns the following
//be24dfaf-671d-4c37-8468-e1826ea26507.prvt.dyno.rt.heroku.com

这不是我期望收到的,这是https://gentle-hollows-7643-243.com

我误解了getCannonicalHostName 的意图还是因为 Heroku 架构而无法正常工作?

【问题讨论】:

    标签: java heroku dns


    【解决方案1】:

    我不认为你能得到你想要的东西。 Heroku dyno 在将流量路由到它的代理后面运行。因此,该进程的实际主机名不是您在浏览器中使用的主机名。另一种可能的解决方案是将APP_NAME 之类的配置变量设置为“gentle-hollows-7643-243”,然后在您的应用程序中使用它,例如System.getenv("APP_NAME");

    【讨论】:

      【解决方案2】:

      请看这里

      getCanonicalName() 方法将返回完全限定的域名

      Host Name Vs Canonical Host Name

      【讨论】:

      • 那么我想用什么方法来返回我在 OP 中指定的内容?
      猜你喜欢
      • 1970-01-01
      • 2016-09-24
      • 1970-01-01
      • 2019-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多