Câu trả lời:
Bạn sẽ cần sử dụng proxy ngược để thực hiện việc này, ví dụ Apache 2.4. với mod_proxy_wstunnel .
Sử dụng nó như một frontend và sau đó đường hầm các kết nối đến phụ trợ thích hợp.
Chỉ một tiến trình duy nhất có thể lắng nghe trên một cổng cụ thể cho cùng một địa chỉ IP và giao thức, bởi vì nếu không thì hệ điều hành sẽ không biết quá trình nào để gửi gói tin nhận được.
Để đạt được những gì bạn muốn, bạn sẽ phải sử dụng proxy ngược sẽ lắng nghe trên cổng 80 và chuyển tiếp lưu lượng truy cập để sửa đích. Có nhiều cách để làm điều này. Ví dụ: bạn có thể thiết lập máy chủ web (Apache) để chuyển tiếp các yêu cầu WebSocket hoặc bạn có thể định cấu hình Node.js để chuyển tiếp lưu lượng HTTP. Nghiên cứu các tùy chọn có sẵn và chọn một trong những phù hợp với nhu cầu của bạn tốt nhất.
Cũng như tùy chọn proxy ngược mà người khác đã đề cập, bạn có thể có nhiều địa chỉ IP được gán cho máy. Điều này có thể có giá cho IPv4 (hoặc đơn giản là không khả dụng tùy thuộc vào nơi máy chủ của bạn được lưu trữ) nhưng không nên nếu bạn ở vị trí sử dụng IPv6 (nghĩa là nếu những người kết nối với một hoặc cả hai hoặc dịch vụ của bạn sẽ có khả năng IPv6) . Bằng cách này, cả hai dịch vụ có thể nghe trên cổng 80 trên các địa chỉ khác nhau.
Như bạn chỉ đề cập đến cổng 80, tôi cho rằng bạn không sử dụng HTTPS. Nếu bạn đang sử dụng tùy chọn proxy ngược, bạn cần phải có chứng chỉ SSL nhiều tên hoặc định cấu hình SNI và sống với thực tế là một số máy khách cũ (IE trên XP, phiên bản Android cũ) sẽ không thể kết nối không có lỗi. Tùy chọn nhiều địa chỉ tránh được vấn đề này với chi phí cần thêm địa chỉ được chỉ định.