Freigeben über


YARP ermöglicht Verschlüsselung

Hinweis

Das LettuceEncrypt in diesem Artikel beschriebene NuGet-Paket wird archiviert und wird nicht mehr unterstützt, sodass das Paket nicht zur Verwendung empfohlen wird.

Einleitung

YARP kann die Zertifizierungsstelle Let's Encrypt mithilfe der API eines anderen ASP.NET Core-Projekts LettuceEncrypt unterstützen. Es ermöglicht Es Ihnen, TLS zwischen dem Client und YARP mit minimaler Konfiguration einzurichten.

Anforderungen

Fügen Sie die LettuceEncrypt Paketabhängigkeit hinzu:

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

Konfiguration

Für LettuceEncrypt gibt es erforderliche Optionen, die festgelegt werden sollen. Sehen Sie sich das Beispiel an: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"
  }
}

Dienste aktualisieren

services.AddLettuceEncrypt();

Weitere Optionen (z. B. Speichern von Zertifikaten) finden Sie in den Beispielen im LettuceEncrypt Projekt README.

Kestrel Endpunkte

Wenn Ihr Projekt explizit Kestrel Optionen zum Konfigurieren von IP-Adressen, Ports oder HTTPS-Einstellungen verwendet, rufen Sie UseLettuceEncrypt auf.

Beispiel:

var builder = WebApplication.CreateBuilder(args);

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