Tôi làm việc ở một nơi mà mỗi ứng dụng nội bộ của chúng tôi chạy trên một phiên bản Tomcat riêng lẻ và sử dụng một cổng TCP cụ thể. Phạm vi cổng IANA tốt nhất để sử dụng cho các ứng dụng này là gì để tránh xung đột số cổng với bất kỳ quá trình nào khác trên máy chủ?
Dựa trên http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml , đây là các tùy chọn như tôi hiện thấy:
- Cổng hệ thống (0-1023): Tôi không muốn sử dụng bất kỳ cổng nào trong số các cổng này vì máy chủ có thể đang chạy dịch vụ trên các cổng tiêu chuẩn trong phạm vi này
- Cổng người dùng (1024-49151): Do các ứng dụng là nội bộ, tôi không định yêu cầu IANA đặt trước một số cho bất kỳ ứng dụng nào của chúng tôi. Tuy nhiên, tôi muốn giảm khả năng cùng một cổng được sử dụng bởi một quy trình khác, ví dụ: Oracle Net Listener trên 1521.
- Cổng động và / hoặc cổng riêng (49152-65535): Phạm vi này lý tưởng cho số cổng tùy chỉnh. Mối quan tâm duy nhất của tôi là nếu điều này xảy ra:
a. Tôi định cấu hình một trong các ứng dụng của mình để sử dụng cổng X
b. Ứng dụng ngừng hoạt động trong vài phút hoặc vài giờ (tùy thuộc vào tính chất của ứng dụng), khiến cổng không được sử dụng trong một thời gian ngắn,
c. Ví dụ: hệ điều hành phân bổ số cổng X cho một quy trình khác, khi quy trình đó hoạt động như một máy khách yêu cầu kết nối TCP tới một máy chủ khác. Điều này thành công do nó nằm trong phạm vi động và X hiện không được sử dụng đối với hệ điều hành có liên quan và
d. Ứng dụng không khởi động được vì cổng X đã được sử dụng