如何为部署在 CloudFoundry 上的应用程序配置 public 端口?
How to configure public port for an application deployed on CloudFoundry ?
我在端口 8080 上有一个 SpringBoot 应用程序 运行(默认为 Tomcat)。
我正在使用此命令将其部署到 CloudFoundry Pivotal Platform:
cf push my-project -p build/libs/myproject-0.1.0.jar
和这个manifest.yml
---
applications:
- name: my-project
memory: 1024M
host: my-project
port: 8080
这是应用程序启动时的日志:
INFO 25 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
INFO 25 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
INFO 25 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
可从此 url 访问该应用程序:
http://my-project.cfapps.io/hello_world
但我需要它可以从端口 8080 访问:
http://my-project.cfapps.io:8080/hello_world
如何更改应用程序侦听的 public 端口?
谢谢
你在Spring Boot的application.properties
里改成这个配置:
server.port=9999
查看 Spring Boot reference docs 的这一部分。
显然您还需要在 Cloud Foundry 清单文件中更改它。
无法更改 public 客户端连接到的端口以联系您在 Cloud Foundry 上的应用程序。这在 PaaS/hosted 平台中几乎是不可能的,因为平台运营商是决定向 public 互联网开放哪些端口的人。
为什么需要应用程序在端口 8080 上可用?也许有办法解决这个问题。
有关更多详细信息,您的应用程序 运行 在 Cloud Foundry 运行时内部,因此需要侦听该运行时定义的端口。推荐的方法是监听 $PORT
环境变量中指定的端口。
对于应用程序清单,我建议查看有关这些清单究竟支持什么的文档:https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#optional-attributes。
我在端口 8080 上有一个 SpringBoot 应用程序 运行(默认为 Tomcat)。
我正在使用此命令将其部署到 CloudFoundry Pivotal Platform:
cf push my-project -p build/libs/myproject-0.1.0.jar
和这个manifest.yml
---
applications:
- name: my-project
memory: 1024M
host: my-project
port: 8080
这是应用程序启动时的日志:
INFO 25 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http)
INFO 25 --- [ main] o.apache.catalina.core.StandardService : Starting service Tomcat
INFO 25 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
可从此 url 访问该应用程序:
http://my-project.cfapps.io/hello_world
但我需要它可以从端口 8080 访问:
http://my-project.cfapps.io:8080/hello_world
如何更改应用程序侦听的 public 端口?
谢谢
你在Spring Boot的application.properties
里改成这个配置:
server.port=9999
查看 Spring Boot reference docs 的这一部分。
显然您还需要在 Cloud Foundry 清单文件中更改它。
无法更改 public 客户端连接到的端口以联系您在 Cloud Foundry 上的应用程序。这在 PaaS/hosted 平台中几乎是不可能的,因为平台运营商是决定向 public 互联网开放哪些端口的人。
为什么需要应用程序在端口 8080 上可用?也许有办法解决这个问题。
有关更多详细信息,您的应用程序 运行 在 Cloud Foundry 运行时内部,因此需要侦听该运行时定义的端口。推荐的方法是监听 $PORT
环境变量中指定的端口。
对于应用程序清单,我建议查看有关这些清单究竟支持什么的文档:https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#optional-attributes。