Enterprise Distributed Application Service (EDAS) overrides the Tomcat port for applications that have canary release enabled. If the port you set in your code or configuration files appears to be ignored, this is expected platform behavior.
Symptoms
After you deploy an application to EDAS, one or both of the following occur:
The
server.portvalue in yourapplication.propertiesfile does not change the actual Tomcat listening port for a Spring Boot application.After you change the port in the EDAS console, the process listening on that port is not a Tomcat process.
Cause
EDAS uses Tengine as a reverse proxy in front of Tomcat for all applications that have canary release enabled. Requests flow through the following path:
Client --> Tengine (application port) --> Tomcat (port 65000)
To ensure that Tengine can identify the Tomcat port, EDAS appends --server.port=65000 to the startup parameters. This overrides any server.port value in your code or configuration files and locks the Tomcat port to 65000.
For example, even if your application.properties contains the following setting, the actual Tomcat port remains 65000:
server.port=28082The --server.port=65000 startup parameter takes precedence, so Tomcat always starts on port 65000.
What happens when you change the port in the console
Changing the application port in the EDAS console updates the Tengine listening port, not the Tomcat port. For example, if you set the application port to 8080:
| Component | Port |
|---|---|
| Tengine | 8080 |
| Tomcat | 65000 (unchanged) |
Verify that Tomcat is running
To confirm that Tomcat started correctly, check whether port 65000 is listening. Do not check the port defined in your configuration files.