MVC 09 - 部署到Ubuntu, Nginx, 监控, HTTPS和证书.mp4 (134.28MB)

部署到 Linux

ASP.NET Core 2.x 内置两种 server:

  • HTTP.sys 只支持 Windows,并支持一些 Windows 独有的特性
  • Kestrel,跨平台的服务器,高度优化(推荐

    如何部署 ASP.NET Core 应用

  • 直接服务应用(又叫做边缘服务器 Edge Server)

  • 放在负载均衡或反向代理(Reverse Proxy)后边(推荐

Edge Server:
image.png

放在 Reverse Proxy 后边:
image.png

HTTPS

image.png

带着的主要是这几个 Header:
image.png

为了带 Header,需要修改 Startup 类的Configure 方法:

  1. public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILogger<Startup> logger)
  2. {
  3. if (env.IsDevelopment())
  4. {
  5. app.UseDeveloperExceptionPage();
  6. }
  7. if (env.IsProduction())
  8. {
  9. app.UseForwardedHeaders(new ForwardedHeadersOptions
  10. {
  11. ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
  12. });
  13. }
  14. ...
  15. }

部署的方式