Spring Boot应用程序中server.port=0的默认端口范围是多少?

问题描述 投票:0回答:1

Spring Boot 应用程序中 server.port=0 的默认端口范围是多少?

我正在使用 spring-boot 2.7(使用默认的 tomcat 服务器)并使用 java 11。

或者范围因操作系统而异?

java spring-boot httpserver
1个回答
0
投票

随机端口的范围取决于几个因素:

  • 所有端口号都是 16 位无符号整数,因此最大可能值为 65535。
  • 低于 1024 的端口在基于 Unix 的系统(包括 macOS 和 Linux)上被视为特权端口。普通用户无法在这些端口上打开套接字,因此通常 Spring Boot 不会使用它们。
  • 从 1024 到 49151 的端口称为用户或注册端口,从 49152 到 65535 的端口称为动态或私有端口。这些通常是 Spring Boot 可能选择的端口。

如果您没有以 root 或管理员权限运行 Spring Boot,则随机端口可能在 1024 到 65535 之间(这不是严格的规则,可能会根据您的操作系统配置而有所不同)。

但是,Spring Boot 不会设置此范围 - 操作系统的网络子系统会设置。 Spring Boot 只是要求操作系统为其提供一个可用端口,操作系统根据自己的配置确定要分配的端口。

© www.soinside.com 2019 - 2024. All rights reserved.