我需要能够找到该页面当前正在执行的服务器的IP地址。我有一些调用第三方站点的代码,并且必须传递特定的密钥,这些密钥会根据所在的服务器而发生变化。在ColdFusion中是否存在CGI变量或某种方式来确定主机服务器的IP地址?如何获取您的应用程序服务器的IP地址
5
A
回答
2
我会用hostip.info API
你的IP在XML:http://api.hostip.info/get_xml.php
你在HTML IP:http://api.hostip.info/get_html.php
1
最安全的方法是使用像WhatIsMyIP这样的服务。如果服务器位于NAT后面,则操作系统不知道外部IP地址。
对此,SO有很多问题,例如参见here。
4
有两个原因导致程序无法查询它运行的主机,看看它的IP是:
它可能有多个IP地址,而短的通过各种内核数据的期待你不可能知道哪个结构将用于给定的传出连接。
它可能通过NAT防火墙或某种代理连接到外部世界,以便外部世界将看到不同于您的盒子上配置的IP。
实际上,可能会比这两个更多,但那些是我想到的。
因此,最简单的方法是连接到公司网络外某个地方的另一个盒子,看看它认为你有什么IP。我使用在我的colo box上运行的两行CGI脚本来检测我的家庭服务器当前有哪些IP(所以我可以检测到有线公司改变它的时间)。
5
像其他评论者所概述,如果你需要的外部IP作为第三方站点看到它,那么你可能应该使用他们推荐的外部方法。
但是,如果第三方是给你以某种形式的基于实际IP作为服务器认为自己,而不是IP,因为他们看到它访问您可以使用
<cfset cName = CreateObject("java", "java.net.InetAddress").getLocalHost().getHostAddress()>
<cfdump var="#cName#">
2
您可以使用CGI .LOCAL_ADDR来确定你的服务器的IP地址(CFML相当于PHP的$ _SERVER [“SERVER_ADDR”])。它使用ColdFusion或Railo,它可以在IIS和Apache上运行,因为您不在代理服务器后面,没有注册服务器IP,只有一个IP分配给您的服务器(不知道哪个IP会显示,如果有多个IP)。
0
<cfhttp url="http://www.whatismyip.com/" result="myresult" resolveurl="yes">
<cfoutput>#myresult.filecontent#</cfoutput>
相关问题
- 1. 如何获取服务器IP地址?
- 2. 如何获取响应WebResponse的服务器的IP地址C#
- 3. 获取服务器IP地址
- 4. 获取IP地址当前服务器
- 5. 如何从IP地址获取服务器的机器名称?
- 6. 如何获取请求来自的服务器的IP地址?
- 7. 获取服务器的地址和应用程序名称
- 8. 如何在.NET中获取服务器的IP地址?
- 9. 如何获取asp.net中的服务器/网站IP地址?
- 10. 如何在rails上获取主机服务器的IP地址
- 11. 服务器的IP地址
- 12. node.js http(s):获取远程服务器的IP地址
- 13. 如何获取使用PHP的服务器的本地IP地址?
- 14. 在服务器端获取本地IP地址的非服务器端方法?
- 15. 如何获取身份服务器中客户端的远程IP地址4
- 16. 在无连接服务器上获取远程IP地址
- 17. 如何获取数据从服务器的服务器地址
- 18. PHP应用程序,Web服务和单独的IP地址
- 19. 通过IP地址服务的Zend框架应用程序
- 20. DNS服务器IP地址
- 21. tcp服务器ip地址
- 22. 如何获取IP地址?
- 23. 如何获取IP地址?
- 24. 如何获得自定义HostnameVerifier中的服务器IP地址
- 25. 从部署的应用程序获取Azure公共IP地址
- 26. 获取AIR 1.0应用程序的IP地址
- 27. 如何使用getmxrr获取邮件服务器的主机名,ip地址?
- 28. 从服务器获取客户端的IP地址
- 29. 获取WCF中的服务器IP地址?
- 30. 获取域的IP地址和后端服务器信息