【发布时间】:2012-05-15 15:50:42
【问题描述】:
我工作的地方是我们的每个内部应用程序都在单独的 Tomcat 实例上运行并使用特定的 TCP 端口。 为了避免与服务器上的任何其他进程发生端口号冲突,这些应用使用的最佳 IANA 端口范围是多少?
基于http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml,这些是我目前看到的选项:
- 系统端口 (0-1023):我不想使用这些端口中的任何一个 因为服务器可能在这个标准端口上运行服务 范围
- 用户端口 (1024-49151):鉴于应用程序是内部应用程序,我不打算要求 IANA 为我们的任何应用程序保留一个号码。但是,我想降低同一端口被另一个进程使用的可能性,例如 1521 上的 Oracle Net Listener。
- 动态和/或专用端口 (49152-65535):此范围非常适合自定义端口号。我唯一担心的是如果发生这种情况:
一个。我将我的一个应用程序配置为使用端口 X
湾。应用程序关闭了几分钟或几小时(取决于应用程序的性质),使端口有一段时间未使用,
C。操作系统将端口号 X 分配给另一个进程,例如,当该进程充当需要与另一个服务器建立 TCP 连接的客户端时。这成功了,因为它在动态范围内,并且就操作系统而言,X 当前未使用,并且
d。应用程序无法启动,因为端口 X 已在使用中
【问题讨论】:
-
我在这里stackoverflow.com/a/38141340/3333759 回答了一个类似的问题,您可能会觉得有帮助。
标签: networking tomcat