IIS cung cấp một số khả năng phổ biến không có sẵn theo mặc định trong các dịch vụ web tự lưu trữ. Người giám sát: nó theo dõi sức khỏe của ứng dụng web và sẽ giết / hồi sinh ứng dụng nếu ứng dụng bắt đầu trông không lành mạnh (sử dụng quá nhiều bộ nhớ, CPU, v.v. - có thể định cấu hình). Các giới hạn tài nguyên như sử dụng CPU, giới hạn kết nối, v.v. Chạy như một người dùng nhất định để bảo mật đặc quyền tối thiểu. Quản lý chứng chỉ / SSL. Lưu trữ / quản lý nhiều ứng dụng thông qua một cổng / giao diện. Đảo ngược proxy để ứng dụng giao diện điều khiển. Nhiều thứ khác tôi không đề cập đến như đăng nhập yêu cầu.
Tôi không quen thuộc với Tomcat, nhưng tôi cho rằng đó là câu chuyện tương tự. Bạn nhận được các tính năng lưu trữ bổ sung mà tự lưu trữ không cung cấp cho bạn theo mặc định và có thể khá khó để tự thực hiện.
Thông thường các sản phẩm phơi bày dịch vụ web tự lưu trữ vẫn sẽ khuyên bạn nên đặt chúng phía sau một proxy ngược hoặc người giám sát khác trong sản xuất. Điều này có thể là để đảm bảo nó sẽ sống sót sau các sự cố hoặc duyên dáng trong thời gian gián đoạn mạng. Tôi đang nghĩ về NGINX cho các dịch vụ Docker chẳng hạn. Trong không gian .NET, tôi tin rằng Kestrel được ủy quyền ngược thông qua IIS dưới dạng thông lệ tiêu chuẩn (hoặc có thể NGINX trên Linux / Mac).
Theo truyền thống, các ứng dụng ASP.NET chỉ được lưu trữ trên windows trên Máy chủ Thông tin Internet (IIS). Cách được đề xuất để chạy các ứng dụng ASP.NET Core trên Windows vẫn là sử dụng IIS, nhưng là một máy chủ proxy ngược. Mô-đun ASP.NET Core trong IIS quản lý và ủy quyền các yêu cầu đến máy chủ Kestrel HTTP được lưu trữ ngoài quy trình.
Expires
vàETag
các tiêu đề. Và sau đó, những điều phức tạp hơn, như phân tách lưu lượng bằng cáchhost
, giữ các ứng dụng cách xa bộ nhớ của nhau, SSL và quản lý hàng ngàn yêu cầu đồng thời ...