繁体   English   中英

如何枚举指向我的Tomcat / SpringMVC实例的非本地主机,非127.0.0.1 IP地址/域?

[英]How can I enumerate non-localhost, non-127.0.0.1 IP addresses/domains that point to my Tomcat/SpringMVC Instance?

在运行在Tomcat上的spring应用程序中,我有一个API,该API通过SMS将链接发送给用户以验证电话号码。 我的生产服务器具有以下代码中反映的公共IP和域名:

context.getRequestURL().toString().replace(context.getRequestURI(), context.getContextPath());

因此基于此生成的URL在生产中将是完美的。 但是,当我在本地调试时 ,该链接最终以http:// localhost:8080 / MyApp开头,无法从本地网络上的其他计算机单击该链接(请阅读通过SMS接收到该链接的手机)。

有没有一种方法可以捕获指向该应用运行所在服务器的“非localhost / 127.0.0.1”地址列表,以在本地调试时在本地网络上访问该服务器?

简短答案:不可以。

长答案:您可以迭代服务器的IP地址,但这无济于事,因为这些IP地址可能是您本地网络上的内部IP地址(例如10.29.38.47 ),并且被防火墙映射(NAT)了,因此从Web上看,服务器的IP地址是不同的(例如192.0.2.5 )。

即使您使用诸如“我的IP地址什么”之类的服务 要找到您的外部地址,它仍然只会为您提供许多潜在地址之一。

如果希望服务器代码能够为其自身构建完全限定的URL,则需要在配置文件中指定该URL,然后从那里读取值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM