在我的应用程序中,当用户注册时,会向用户的电子邮件ID发送一个链接。我想发送该应用程序的动态URL,即
生产服务器:https://example.com/APP/
测试服务器:https://test.example.com/APP/
本地:http://LOCAL_IP:LOCAL_PORT/APP/
生产和测试服务器位于代理服务器之后。
我正在使用以下来生成网址。这适用于本地,但对于测试和生产,它正在生成具有实际IP和端口的URL。我想分别生成https://test.example.com/APP/,https://example.com/APP/ /
final String PROTOCOL = httpRequest.getScheme()+"://";
final String REMOTE_HOST = httpRequest.getLocalAddr();
final String PORT = ":"+httpRequest.getServerPort();
final String CONTEXT = httpRequest.getContextPath();
String url = "<a href='"+ PROTOCOL + REMOTE_HOST + PORT + CONTEXT + "' >" +
"Click Here to Proceed</a>";
提前致谢。
答案 0 :(得分:0)
您正在寻找的内容称为反向DNS查找。请参阅此article。
但坦率地说,只需从属性文件中读取域名即可。没有理由使解决方案复杂化,除非您按小时付款。当用户点击该网址时,会发生通常的DNS解析,并且他们会点击您的服务器。事实上,在企业环境中,您的内部服务器IP很可能会解析为用户无法从公司网络外部访问的域名。
我注意到你用Spring标记了你的问题(我删除了,因为你的问题实际上与Spring无关),所以根据环境阅读域名是一件小事。参见{{3 }}