Kestrel is installed as part of ASP.NET Core; whenever an ASP.NET Core project is created, it includes Kestrel as its web server implementation by default, and whenever an ASP.NET core application is run, it can be self-hosted in the built-in Kestrel.
The PowerServer Web APIs, as a standard ASP.NET Core application, can also be self-hosted in the Kestrel web server, using (or not) a reverse proxy server.
In the following graph, the PowerServer Web APIs is hosted in Kestrel and Kestrel is used as an edge (Internet-facing) server without a reverse proxy server.
-
Kestrel serves the dynamic content (such as data processing tasks) from the PowerServer Web APIs.
-
The static content (such as the client app, launcher, and runtime) can be hosted in the same Kestrel or in a separate IIS/Apache/Nginx server, in the same or different machine.
In the following graph, the PowerServer Web APIs is hosted in Kestrel, and Kestrel is used in a reverse proxy configuration.
-
Kestrel serves the dynamic content (such as data processing tasks) from the PowerServer Web APIs.
-
The reverse proxy server (such as IIS, Nginx, Apache etc.) forwards the requests to the PowerServer Web APIs running in Kestrel. The reverse proxy server may reside on a dedicated machine or may be deployed alongside a web server.
-
The static content (such as the client app, launcher, and runtime) can be hosted in the same Kestrel or in a separate IIS/Apache/Nginx server, in the same or different machine.