actuator port in >= Spring Boot 2.3.4 - spring-boot

Is it still possible to change the actuator port in 2.3.4?
neither management.port nor management.endpoints.port seems to work. Intellij doesn't recognize any of these settings, either.

It is management.server.port. Customizing the Management Server Port
With these settings:
server:
port: 8082
management:
server:
port: 8081
the default app port is 8082 and the actuator data is exposed at 8081

Related

yml config about http and https

In application.yml, I need to config https port and http port.
For this, code is as follows in application.properties.
server.port.http=80
server.port.https=443
In application.yml, I tried follwing code for configuration,
but it doesn't work.
code1
server:
port: 443
http: 80
code2
server:
port:
http: 80
port: 443
How do this only with application.yml?
I can do it with collaboration of .properties and .yml.
However, I want to do this with only application.yml.
Solution
I found solution thanks to answer of dariosicily.
I configured https and http port as follows.
server:
port: 443
ports:
https: 443
http: 8080
I need to configure default port of spring boot.
So, I configured default port using server.port=443,
and https and http port using server.ports.
And used them in java as follows.
#Value("${server.ports.http}")
private int serverPortHttp;
#Value("${server.ports.https}")
private int serverPortHttps;
It works really well. Thank you!!!
You can configure both http and https ports creating a dictionary with http and https keys in your application.yml :
server:
port:
http: 8080
https: 443
Then you can access both properties in your java class (or kotlin with an equivalent code) :
#Value("${server.port.http}")
private int httpPort;
#Value("${server.port.https}")
private int httpsPort;

Health check properties for springboot application in PCF

I have configured the below health check properties in my spring boot application(using actuator) and returning "UP" when locally tested using the below endpoint
server:
servlet:
context-path: /account/v1
port: 8443
management:
endpoints:
web:
path-mapping:
health: /health
Check locally using "http://localhost:8443/account/v1/actuator/health and returning
{"status":"UP"}"
In PCF I updated the Health check type as "http" and Endpoint as "/actuator/health".
When I pushed my app I am getting the below error
2020-09-02T12:43:15.92+0530 [HEALTH/0] ERR Failed to make HTTP request to '/actuator/health' on port 8080: connection refused
2020-09-02T12:43:15.92+0530 [CELL/0] ERR Failed after 1m0.632s: readiness health check never passed.
Please help on this.(Is my port or endpoint wrong)

Is Eureka running on 8761 or 8080?

I've created a new spring boot project with "spring-cloud-starter-netflix-eureka-server" dependency. Also have added "#EnableEurekaServer" annotation and launched the spring boot app.
I see the below log messages
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
c.n.eureka.cluster.PeerEurekaNodes : Adding new peer nodes [http://localhost:8761/eureka/]
From above, as I understand. Tomcat is running on port 8080 and eureka server is running on port 8761.
If so,
How come the Eureka Dash board is accessible at http://localhost:8080/ ? When the eureka server is running on port 8761 ?
On one of the client, I configured the following in the .properties file
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
Above, I specified the Eureka server location. But, why is the client unable to register?
Thanks!
By default it works on 8761, so configure server.port=8761

How to configure Thorntail http port with project-default.yml?

I'm using Thorntail 2.3.0.Final, in documentation "5.4.2. Sockets" there is an example of configuring some kind of something:
thorntail:
network:
socket-binding-groups:
standard-sockets:
http:
port: 8081
I thought it starts listening on port 8081, but it persistently continues start listening port 8080
so how to configure port binding properly?
The shortcut way is to use:
thorntail:
http:
port: 8081

Strange behavior of server.port property in Tomcat

Actually, it is not a problem, but a strange thing I would like to understand. I use SpringBoot2 with embedded Tomcat. And I've added self-signed SSL certificate. This is pretty usual config:
server.ssl.key-store-type=PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=123456
server.ssl.key-alias=tomcat
server.port=8443
And I made a connector, to force http -> https redirect, like in many examples:
private Connector getHttpConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setScheme("http");
connector.setPort(8080);
connector.setSecure(false);
connector.setRedirectPort(8443);
return connector;
}
If I would not specify server.port property in my config, I will see the following error:
Description:
The Tomcat connector configured to listen on port 8080 failed to
start. The port may already be in use or the connector may be
misconfigured.
Action:
Verify the connector's configuration, identify and stop any process
that's listening on port 8080, or configure this application to listen
on another port.
But if I will, I will see following:
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s):
8443 (https) 8080 (http) with context path ''
Why server.port starts to point at https port??? Even sources of springframework.boot.autoconfigure.web.ServerProperties says that it is
/**
* Server HTTP port.
*/
Is it ok, or I've got something strange in my server? Or this is how Conectors works? :) Thank you
By default, the embedded server start on port 8080 if you don't give any value for server.port in the properties file
And you are also specifying connectors port as 8080 (connector.setPort(8080);)
Hence you are getting port conflicts.

Resources