「Dotnet 工具箱」自动生成并绑定Https证书

这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,有用的工具,不要忘记关注。

介绍

LettuceEncrypt 是一个使用 C# 开发的免费的工具,它和证书颁发机构 (CA)集成,比如 Let's Encrypt,它使用了 ACME 协议,可以为 .NET Core 应用自动获取 HTTPS 证书。 .

如何使用

  1. 1. 在 Nuget 中搜索并安装 LettuceEncrypt。

「Dotnet 工具箱」自动生成并绑定Https证书
  1. 1. 在 Startup 的 ConfigureServices 方法中, 注入 LettuceEncrypt 服务。

using Microsoft.Extensions.DependencyInjection;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddLettuceEncrypt();
    }
}
  1. 1. 配置 HTTPS 证书参数.

// appsettings.json
{
    "LettuceEncrypt": {  
        "DomainNames": [ "example.com", "www.example.com" ],  
        "EmailAddress": "it-admin@example.com"
    }
}
就是这么简单,在 .NET Core 程序启动后,会自动请求,生成,绑定 Https 证书,不需要额外的一些配置,是非常方便的。

「Dotnet 工具箱」自动生成并绑定Https证书

作者也介绍了下面几种 .NET Core 程序部署方式的支持情况,看看它是否适合你的场景。

「Dotnet 工具箱」自动生成并绑定Https证书

在这种情况下,ASP.NET Core 由 Kestrel 服务(默认的进程内 HTTP 服务器)托管,这个库会使用自动生成 Https 证书并配置 Kestrel。

「Dotnet 工具箱」自动生成并绑定Https证书

在这种情况下,ASP.NET Core 由 IIS 托管,IIS 不支持动态配置 HTTPS 证书,所以没有办法支持。不过您可以使用其他的工具生成证书,然后在 IIS 上进行配置。

「Dotnet 工具箱」自动生成并绑定Https证书

TCP 负载均衡,支持。

「Dotnet 工具箱」自动生成并绑定Https证书

反向代理,不支持。

github 地址: https://github.com/natemcmaster/LettuceEncrypt