2013-12-12 106 views
2

這是我的代碼。如何獲取Coldfusion實例服務器名稱

<cfhttp method="head" url="http://www.sisystems.com" result="myResult"> 
<cfoutput> 
    #myResult.Statuscode# 

</cfoutput> 

此代碼給出了此URL的狀態碼。我需要知道它在哪個Coldfusion服務器上點擊。

回答

5

您可以使用ColdFusion adminapi如下

runtime = createObject("component", "CFIDE.adminapi.runtime"); 
instanceName = runtime.getInstanceName(); 

感謝

+0

謝謝你噢..多一個疑問。如何獲取服務器場中負載均衡器後面處理我的http或https請求的特定服務器的名稱?請幫我 – Bhargavi

+0

看看CGI範圍。它可能出現在其中一個CGI變量中。您是否需要ColdFusion來使用服務器名稱,或者當您使用/調試站點時,是否想要查看哪個服務器處理了請求?如果是後者,你可以告訴HTTP服務器添加一個額外的頭文件。在Apache中,你需要爲httpd.conf添加'Header set x-http-server http-server-1a',並更改它爲每個不同的apache實例使用的值。相同的方法將在IIS中工作,但配置將有所不同 – barnyr

2

用於在陽光充足的的意見你的問題得到ColdFusion服務器實例名稱答案 - 您可以使用下面的Java方法來收集有關運行ColdFusion的特定服務器的信息:

<cfset cfHostName = createObject("java", "java.net.InetAddress").localhost.getHostName() /> 
<cfset cfCanonName = createObject("java", "java.net.InetAddress").localhost.getCanonicalHostName() /> 
<cfset cfHostAddress = createObject("java", "java.net.InetAddress").localhost.getHostAddress() /> 

而且,到ColdFusion 10,當ColdFusion在JRun上運行時,您還可以使用以下內容:

<cfset cfInstance = createObject("java", "jrunx.kernel.JRun").getServerName() /> 
相關問題