我在端口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 [/]
可从此网址访问该应用程序:
http://my-project.cfapps.io/hello_world
但是我需要它可以从端口8080访问:
http://my-project.cfapps.io:8080/hello_world
如何更改应用程序正在侦听的公共端口?
谢谢
答案 0 :(得分:2)
无法更改客户端连接的公共端口,以便在Cloud Foundry上联系您的应用。这在PaaS /托管平台中大多是不可能的,因为平台运营商决定哪些端口对公共互联网开放。
为什么需要在端口8080上提供应用程序?也许有办法解决这个问题。
有关更多详细信息,您的应用程序在Cloud Foundry运行时内运行,因此需要侦听该运行时定义的端口。建议的方法是侦听$PORT
环境变量中指定的端口。
对于应用程序清单,我建议查看有关这些清单的确切支持的文档:https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html#optional-attributes。
答案 1 :(得分:0)
您可以通过以下配置在Spring Boot的application.properties
中更改它:
server.port=9999
请查看Spring Boot reference docs的这一部分。
显然,您还需要在Cloud Foundry清单文件中进行更改。