2013-05-07 99 views
0

我想讓我的Scala應用服務器找出它是否在Heroku或CloudBees或Cloud Foundry或其他內部運行。是否有一些標準的方法來找出哪個Java託管服務提供商目前正在使用? (如果有的話)我的應用程序服務器可以找出它所在的Java託管服務提供商嗎?

也許主機提供商的防火牆/負載平衡器/無論添加一些標準的HTTP頭,應用服務器可以檢查?或者也許有可能做主機提供商特定的檢查莫名其妙地爲最流行的託管服務提供商?


背景:然後將應用服務器可以顯示有用的提示給服務器管理員,告訴他她如何查看服務器的日誌文件/。這在服務器+數據庫的初始設置過程中很有用,因爲管理員需要在日誌文件中找到某個神奇的密碼,然後他/她使用該密碼第一次訪問管理界面網頁(在數據庫中存在任何管理員用戶之前,請參閱this security question)。 - 如果服務器可以準確地告訴管理員如何查看日誌文件(這些日誌文件從託管提供商到託管提供商),安裝將更加用戶友好。

回答

1

在cloudbees的情況下有幾種方法,其中沒有一個是保證未來的證明(給定更改容器)。

也許需要一個標準的環境變量來使其成爲可行的。

+0

我猜想其他Java託管服務提供商的情況是相似的,即可能有一些提供商特定的方式來標識託管提供商,但沒有標準方法。 - 關於「有幾種方法」,你可能想簡單地描述其中的一個或兩個? – KajMagnus 2013-05-08 21:24:12

+0

我會尋找「app.port」系統屬性,我認爲此屬性目前專用於cloudbees容器。否則,在應用程序目錄中尋找一些指示文件可能會奏效(Heroku coulid可能由Procfile存在)。 – 2013-05-10 05:27:14

相關問題