Câu trả lời đơn giản, liên quan đến mức độ câu hỏi
Bỏ qua việc sử dụng DNS kỳ lạ và cũng đảo ngược tra cứu DNS (không liên quan đến câu hỏi), hầu như tất cả việc sử dụng DNS đều có dạng:
- Khách hàng gửi tên miền (đủ điều kiện hoặc cách khác) đến máy chủ DNS
- Máy chủ DNS trả về thông tin tên miền từ hồ sơ của nó. Thông thường thông tin chính được yêu cầu là địa chỉ IP để liên lạc với web / email trên tên miền đó hoặc địa chỉ IP của máy chủ DNS khác có thể cung cấp thông tin đó tốt hơn.
Khi máy khách đã liên lạc với máy chủ, máy chủ sẽ tự xử lý và hệ thống DNS rơi ra khỏi hình ảnh.
Điều đó có nghĩa là, hệ thống DNS không cần cung cấp thông tin cổng và hầu như không bao giờ làm như vậy. Vì vậy, mặc dù mục đích của câu hỏi là hợp lệ và thường được thực hiện, nhưng thực tế nó không phải là hệ thống DNS thực hiện nó. Đó là lý do tại sao bạn không thể giải quyết nó :)
Ý tưởng là một khi khách hàng của bạn có thể xác định vị trí của máy hoặc máy chủ cụ thể mà họ đang tìm kiếm, thì máy đó sẽ lắng nghe bất kỳ cổng nào họ chọn và chấp nhận / từ chối / trả lời bất kỳ giao thức nào trên bất kỳ cổng nào được định cấu hình.
Ví dụ: các dịch vụ web HTTP thường được cung cấp trên cổng 80. Điều đó có nghĩa là một khi khách hàng biết IP máy, có thể giả định rằng việc gửi tin nhắn đến cổng 80 sẽ dẫn đến việc tin nhắn đó được đọc / phản hồi bởi dịch vụ web của máy đó. Nhưng nó không phải theo cách đó. Nếu máy chủ được cấu hình để lắng nghe các yêu cầu đến web trên cổng 9000, mọi máy khách có thể truy cập cổng 9000 sẽ có thể truy cập dịch vụ web của nó. Nếu máy chủ đứng sau proxy / NAT / bộ định tuyến chuyển hướng cổng 10000 sang cổng 9000 và máy khách sẽ gửi yêu cầu web trên cổng 10000, máy chủ sẽ nhận được nó trên cổng 9000 và cũng phản hồi.
Chuyển hướng / ánh xạ trong máy chủ web
Bạn đã hỏi về ánh xạ chuyển hướng hoặc viết lại trong một bình luận. Đây là những chức năng mà một máy chủ web có thể làm. Về cơ bản, bạn có thể định cấu hình máy chủ web (hoặc hầu hết / nhiều máy chủ web) để quản lý cách xử lý URL mà nó nhận được trong yêu cầu. Vì vậy, nó có thể sửa đổi nội bộ URL khi nhận để làm cho các URL khác nhau được xử lý theo cùng một cách hoặc sửa lỗi chính tả (ánh xạ) hoặc thực sự có thể trả lời để nói với khách hàng hỏi lần thứ hai, sử dụng một số URL thay thế, khác nhau (chuyển hướng).
Chúng có những cách sử dụng và về nguyên tắc có thể xử lý trường hợp sử dụng của bạn, nhưng chúng không giống như giải pháp "đúng" cho bạn, vì những lý do sau:
- Tôi không nghĩ rằng bản đồ sẽ giúp tất cả . Lập bản đồ là gần như hoàn toàn nội bộ với máy chủ web, nó nói "điều trị này URL như thể đó là rằng URL". Ví dụ: bạn có thể sử dụng ánh xạ URL của máy chủ web để cho phép người dùng truy vấn diễn đàn bằng các URL rất cũ, cũ và hiện tại (để thuận tiện cho người dùng) bằng cách sử dụng " https://example.com/index.php?area-=forum&topic = 2 ", cũng" https://example.com/forum.php?topic=2 "và cả" https://forum.example.com?topic=2", và chỉ xử lý việc này một lần, bằng cách ánh xạ hai trong số này vào URL thứ ba bên trong, như bước đầu tiên trong việc xử lý truy vấn. Vì mục tiêu này ảnh hưởng đến đường dẫn truy vấn không phải là IP / cổng, ánh xạ không được sử dụng nhiều cho quản lý cổng và trong trường hợp của bạn, máy khách không bao giờ thực sự truy vấn 8080.
- Chuyển hướng sẽ làm việc, nhưng có thể không phải là những gì bạn muốn . Chuyển hướng trong máy chủ web phụ thuộc vào máy chủ web thực sự nhận được truy vấn (vì đây là các chức năng bên trong của máy chủ web). Vì vậy, máy chủ web sẽ phải lắng nghe trên cổng 80 để có được truy vấn ban đầu, inm để trả lời với chuyển hướng / bản đồ. Nó cũng sẽ phải nghe trên cổng 8080. Về mặt chức năng, nó sẽ cần một quy tắc chuyển hướng để phải nói với bất kỳ máy khách nào truy vấn cổng 80, để truy vấn lại bằng URL ": 8080", không giống như những gì bạn muốn làm Người dùng cũng sẽ thấy URL mới có ": 8080" trong đó, trong khi nó có vẻ như bạn muốn nó "trong suốt" và không được hiển thị.
- Ngoài ra, chuyển hướng sẽ chỉ hoạt động để chuyển hướng một cổng tiêu chuẩn (80 hoặc 443) - bạn không thể chuyển hướng cổng 2000 đến 8080, bởi vì máy khách sẽ không truy vấn trên 2000 theo mặc định, vì vậy nó sẽ không bao giờ đến máy chủ web, ngay cả khi nó đã nghe vào năm 2000. Điều này có thể không phải là vấn đề đối với bạn.
Tuy nhiên, nếu bạn muốn chuyển hướng "thông minh", trong đó chỉ có một số truy vấn nhất định được định tuyến lại thành 8080, đây có thể là cách để đi, bởi vì chuyển hướng có thể bao gồm logic để quyết định URL nào sẽ được chuyển hướng, trong khi ánh xạ cổng (bên dưới) sẽ ánh xạ mọi thứ .
Làm thế nào để làm đúng
Câu trả lời cho câu hỏi của bạn là, bạn muốn máy chủ web trả lời các yêu cầu web mà máy khách gửi đến cổng mặc định (80/443), nhưng máy chủ thực sự nhận được trên cổng 8080.
Điều đó có nghĩa là, như bạn có thể thấy, bạn cần một cái gì đó ở giữa ánh xạ các cổng giữa máy khách và máy chủ . Theo cách đó, máy khách sẽ gửi trên cổng 80 (cổng mặc định được sử dụng bởi các trình duyệt web), nhưng nó thực sự nhận được trên cổng 8080 bởi máy chủ web. Tất nhiên, bạn sẽ phải cấu hình máy chủ web để nghe trên cổng 8080, vì điều này không chuẩn, nhưng thật dễ dàng và bất kỳ máy chủ web nào cũng có thể có các cổng nghe được chỉ định.
Cách thông thường nhất để làm điều này sẽ là trong bộ định tuyến / tường lửa, thông qua ánh xạ cổng.
Nói một cách đơn giản, để thực hiện điều này, bộ định tuyến được đưa ra một quy tắc, rằng bất kỳ thứ gì nhận được có IP đích và cổng đích = 80, nên được chuyển vào mạng LAN với cổng đích thay đổi thành 8080. Cả máy chủ web và máy khách đều không biết về sự thay đổi (được xử lý 100% bởi bộ định tuyến), do đó, nó sẽ minh bạch 100% cho cả hai. Máy khách sẽ không có ": 8080" trong URL của nó và sẽ không cần chuyển hướng bất cứ thứ gì, vì nó truy vấn cổng 80 và máy chủ web có thể bỏ qua cổng 80 và chỉ nghe trên 8080, vì nó không bao giờ nhận được truy vấn trên cổng 80 .
Nếu bạn muốn một cách đơn giản, đơn giản, tương tự như "DNS cho cổng" sẽ làm gì, thì đây có lẽ là cách tương đương gần nhất với những gì bạn yêu cầu trong câu hỏi của mình.