title: Multi-host deployment of ASP.NET Core applications
body: <p>I am quite confused as I haven't seen any blogs or instructions on how to host ASP.NET Core/.NET Core applications with HA and multi-host deployments. All examples are either:</p>
  
  <pre><code>1) One NGINX reverse-proxy, one Kestrel
  2) One IIS reverse-proxy, one Kestrel
  </code></pre>
  
  <p>And both components on same host. In real-life production environments, you have LB maybe service discovery, multiple frontends, multiple backends, etc. But for this case there are no instructions whatsoever. So my questions would be for multi-host environments:</p>
  
  <ul>
  <li>Do I deploy one IIS/NGINX as LB/Reverse-proxy, and redirect requests to Kestrels running on many separate VM:s, i.e. various different IP:s?</li>
  <li>Or do I run an NGINX/F5 for load-balancing on one host, then route http traffic to various VM:s that run IIS+Kestrel, or just Kestrel? Is IIS required in this setup as NGINX acts as LB?</li>
  <li>If I run IIS or NGINX as reverse-proxy, can they keep alive Kestrels on different VM:s, or does each Kestrel require exactly one IIS/NGINX to keep it alive? I.e. the Kestrel process must be on the same same host as the reverse-proxy?</li>
  </ul>
  
  <p>All answers are very welcome, and thanks a lot in advance! :)</p>