Nguon: Microsoft Learn · .NET 8.0

Khi nào nên sử dụng reverse proxy với máy chủ web Kestrel trong ASP.NET Core

Nguồn: When to use a reverse proxy with the ASP.NET Core Kestrel web server

Kestrel có thể được sử dụng độc lập hoặc kết hợp với reverse proxy server (máy chủ proxy ngược). Reverse proxy server nhận các yêu cầu HTTP từ mạng và chuyển tiếp chúng đến Kestrel. Ví dụ về reverse proxy server bao gồm:

Kestrel được sử dụng như một edge server (máy chủ biên) kết nối trực tiếp với Internet:

![Kestrel giao tiếp trực tiếp với Internet mà không có reverse proxy server]

Kestrel được sử dụng trong cấu hình reverse proxy:

![Kestrel giao tiếp gián tiếp với Internet thông qua reverse proxy server, chẳng hạn như IIS, Nginx, hoặc Apache]

Cả hai cấu hình, có hoặc không có reverse proxy server, đều là cấu hình hosting (lưu trữ) được hỗ trợ.

Khi Kestrel được sử dụng như edge server mà không có reverse proxy server, việc chia sẻ cùng địa chỉ IP và cổng giữa nhiều tiến trình (process) là không được hỗ trợ. Khi Kestrel được cấu hình để lắng nghe trên một cổng, Kestrel xử lý tất cả lưu lượng cho cổng đó bất kể header Host của yêu cầu. Một reverse proxy có thể chia sẻ cổng có thể chuyển tiếp yêu cầu đến Kestrel trên địa chỉ IP và cổng duy nhất.

Ngay cả khi không cần reverse proxy server, việc sử dụng reverse proxy server cũng có thể là lựa chọn tốt.

Một reverse proxy:

Cảnh báo: Hosting trong cấu hình reverse proxy yêu cầu host filtering (lọc host).