2013-05-07 65 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

相关问题