2017-09-12 2 views
2

Ich versuche, den Certify SSL Manager zu verwenden, um SSL-Zertifikate von Let's Encrypt auf meinem IIS-Server zu konfigurieren, aber es schlägt während der Überprüfung fehl.Lassen Sie uns die Bestätigung auf IIS nicht funktioniert

https://dev.mywebsite.com/.well-known/acme-challenge/configcheck/

Dies funktioniert:
https://dev.mywebsite.com/well-known/acme-challenge/configcheck https://dev.mywebsite.com/.well-known/acme-challenge/test.txt

So nahm ich es das ist. vorher bekannt. Aber die Tatsache, dass test.txt funktioniert, verwirrt mich.

Ich habe bereits konfiguriert, das Verzeichnis zu dieser Diskussion nach: https://github.com/ebekker/ACMESharp/issues/15

Ich habe eine Reihe von Rewrite Sachen in meinem web.config, aber selbst wenn ich völlig diesen Abschnitt entfernen, es immer noch nicht.

Update:
@ Paul0515 Vorschlag in Verbindung mit dieser scheint das Problem gelöst haben

public static void RegisterRoutes(RouteCollection routes) 
{ 
    //this is for the "Let's Encrypt" SSL confirmation 
    routes.IgnoreRoute(".well-known/"); 
} 
+1

Haben Sie diesen Weg in Ihrem RouteConfig ignorieren haben

Die applicationhost.config finden Sie hier? – GGO

+0

Haben Sie das versucht: https://stackoverflow.com/questions/43409878/set-web-config-for-letsencrypt-certify-with-asp-net-core-and-angular-2-javasc? – GGO

+0

Ich habe versucht, die web.config wie in der 2. Antwort vorgeschlagen, aber nicht geholfen. Werde versuchen, diese Route zu ignorieren. – Remy

Antwort

2

Vielleicht prüfen, ob die Acme-Herausforderung web.config enthält einen Konflikt innerhalb des Handler-Bereichs. Öffnen Sie dazu den IIS-Manager, suchen Sie den acme-challenge-Ordner und doppelklicken Sie auf das Handler-Mapping-Symbol. In meinem Fall führte dies zu einem Fehler.

Das Problem, das ich mit dem Standard web.config im Ordner Acme-Herausforderung bestand darin, lief in, dass die applicationhost.config enthalten:

<section name="handlers" overrideModeDefault="Deny" /> 

Der Handler Abschnitt in der Acme-Herausforderung web.config daher nicht war erlaubt mit dem Ergebnis, dass die Abfrage fehlgeschlagen ist. In diesem Fall waren die Lösungen: ändern applicationhost.config Linie:

<section name="handlers" overrideModeDefault="Allow" /> 

Oder ... die Handler entfernen aus der web.config in Acme-challenge-Ordner festlegen. c: \ windows \ system32 \ inetsrv \ config

1

Die configcheck url ist eine Datei, kein Verzeichnis. Stellen Sie sicher, dass die Datei auf dem Datenträger (d. H. C:\inetpub\wwwroot\.well-known\acme-challenge\configcheck) in Ihrem Webstamm vorhanden ist. Dann versuchen Sie Ihre Links mit diesem Barebone web.config in Ihrer Website Root-Verzeichnis zu laden (wenn ASP.NET verwenden):

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <staticContent> 
      <mimeMap fileExtension="." mimeType="application/unknown" /> 
     </staticContent> 
    </system.webServer> 
</configuration> 

Wenn das funktioniert, versuchen Sie langsam zurück in Ihre web.config Abschnitte Hinzufügen einschließlich Routen/Rewrite bis Sie herausfinden, was das Problem verursacht.

Bei der Verwendung von ASP.NET-Core mit einem wwwroot Ordner Ihre statischen Dateien Hosting, Sie stattdessen Ihre config in Startup.cs ändern müssen werden:

public void Configure(IApplicationBuilder app, IHostingEnvironment env) 
{ 
    string filepath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot/.well-known"); 
    app.UseStaticFiles(new StaticFileOptions() 
    { 
     FileProvider = new PhysicalFileProvider(filepath), 
     RequestPath = new PathString("/.well-known"), 
     ServeUnknownFileTypes = true 
    }); 
    // ... your other startup code here 
} 
Verwandte Themen