Sdílet prostřednictvím


YARP – Umožňuje šifrování

Poznámka:

BalíčekLettuceEncrypt NuGet popsaný v tomto článku se archivuje a už se nepodporuje, takže se balíček nedoporučuje používat.

Úvod

YARP může podporovat certifikační autoritu Lets Encrypt pomocí rozhraní API jiného projektu ASP.NET Core, LettuceEncrypt. Umožňuje nastavit protokol TLS mezi klientem a YARP s minimální konfigurací.

Požadavky

LettuceEncrypt Přidejte závislost balíčku:

<PackageReference Include="LettuceEncrypt" Version="1.1.2" />

Konfigurace

Existují možnosti LettuceEncrypt, které je nutné nastavit. Podívejte se na příklad appsettings.json:

{
  "Urls": "http://*:80;https://*:443",

  "Logging": { ... },

  "ReverseProxy": {
    "Routes": { ... },
    "Clusters": { ... }
  },

  "LettuceEncrypt": {
    // Set this to automatically accept the terms of service of your certificate 
    // authority.
    // If you don't set this in config, you will need to press "y" whenever the 
    // application starts
    "AcceptTermsOfService": true,

    // You must specify at least one domain name
    "DomainNames": [ "example.com" ],

    // You must specify an email address to register with the certificate authority
    "EmailAddress": "it-admin@example.com"
  }
}

Aktualizační služby

services.AddLettuceEncrypt();

Další možnosti (například ukládání certifikátů) najdete v příkladech LettuceEncrypt v souboru README projektu.

Kestrel koncové body

Pokud váš projekt explicitně používá Kestrel možnosti konfigurace IP adres, portů nebo nastavení HTTPS, zavolejte UseLettuceEncrypt:

Příklad:

var builder = WebApplication.CreateBuilder(args);

builder.WebHost.ConfigureKestrel(kestrel =>
{
    kestrel.ListenAnyIP(443, portOptions =>
    {
        portOptions.UseHttps(h =>
        {
            h.UseLettuceEncrypt(kestrel.ApplicationServices);
        });
    });
});