1

我是 cloudfoundry.com 的新手,正在尝试部署我现有的基于 Java SE 的应用程序服务器(在端口 5050 上运行的自定义应用程序 Web 服务器)。我的应用程序没有使用任何基于 Java SE JDK 的应用程序的框架。

我正在使用带有 cloudfoundry 插件的 eclipse,并使用“服务器视图”(cloudfoundry.com 实例)部署了我的应用程序,我可以从控制台看到它正在运行。

我的问题是:

  1. 我的应用程序的 URL 是什么?是http://<appname>.cloudfoundry.com吗?

  2. 如何通过 URL 访问我部署的应用程序。我试过了http://<appname>.cloudfoundry.comhttp://<appname>.cloudfoundry.com:5050但失败了。我可以从论坛中找到只有 80 和 443 端口为入站 tcp 连接打开,所以我的下一个问题是如何设置规则以便对 appname.cloudfoundry:80 的 HTTP 请求在 5050 端口转发到我的应用程序?

  3. 如何设置规则以便appname.cloudfoundry:80在 5050 端口转发到我的应用程序?可能吗?

  4. 我有一些静态页面模板和 css 文件,我的应用程序需要这些文件来生成动态页面,然后临时存储它们,可以吗?如果是,如何将静态页面与应用程序一起存储?以及如何创建文件?

  5. 我知道传出的 TCP 请求也仅限于 80 和 443 端口,如果我需要连接到 8080 或任何其他端口,那么出路是什么?

4

1 回答 1

3

这里有一些答案给你:

  1. 将是您选择的任何内容(前提是可用,尚未被其他一些应用程序采用)

  2. 您需要修改您的应用程序,尤其是应用程序的 http 服务器部分,以便它绑定到 Cloud Foundry 为您分配的端口和主机名。更具体地说,Cloud Foundry 为此目的宣传了两个环境变量:VCAP_APP_PORTVCAP_APP_HOST(您可能不需要担心后者)。一个很好的读物是http://blog.cloudfoundry.org/2012/06/18/deploying-tomcat-7-using-the-standalone-framework/,它以 tomcat 为例。如果您想从 Java 代码访问环境变量(而不是像博客文章那样从 shell 访问),您将需要 System.getEnv()。

  3. 如果您这样做了,这将自动工作 2)

  4. 目前不支持纯静态文件。但是你可以

    1. 让您的 http 服务器处理它们
    2. 如果可以接受,请使用 Cloud Foundry 上的另一个应用程序为他们提供服务。正如我的同事安迪在这里解释的那样,使用例如 Sinatra 真的很容易。
  5. IIRC,出站连接的唯一限制是端口 25,以防止垃圾邮件。所以你应该很好。请参阅http://support.cloudfoundry.com/entries/20951826-cloudfoundry-com-faq

于 2012-11-21T13:24:46.970 回答