这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,有用的工具,不要忘记关注。
介绍
LettuceEncrypt 是一个使用 C# 开发的免费的工具,它和证书颁发机构 (CA)集成,比如 Let's Encrypt,它使用了 ACME 协议,可以为 .NET Core 应用自动获取 HTTPS 证书。
如何使用
1. 在 Nuget 中搜索并安装 LettuceEncrypt。
1. 在 Startup 的 ConfigureServices 方法中, 注入 LettuceEncrypt 服务。
using Microsoft.Extensions.DependencyInjection;public class Startup
{public void ConfigureServices(IServiceCollection services){services.AddLettuceEncrypt();}
}
1. 配置 HTTPS 证书参数.
// appsettings.json
就是这么简单,在 .NET Core 程序启动后,会自动请求,生成,绑定 Https 证书,不需要额外的一些配置,是非常方便的。
{
"LettuceEncrypt": {
"DomainNames": [ "example.com", "www.example.com" ],
"EmailAddress": "it-admin@example.com"
}
}作者也介绍了下面几种 .NET Core 程序部署方式的支持情况,看看它是否适合你的场景。
在这种情况下,ASP.NET Core 由 Kestrel 服务(默认的进程内 HTTP 服务器)托管,这个库会使用自动生成 Https 证书并配置 Kestrel。
在这种情况下,ASP.NET Core 由 IIS 托管,IIS 不支持动态配置 HTTPS 证书,所以没有办法支持。不过您可以使用其他的工具生成证书,然后在 IIS 上进行配置。
TCP 负载均衡,支持。
反向代理,不支持。
github 地址: https://github.com/natemcmaster/LettuceEncrypt