2017-07-02 2 views
2

Dies ist eine Gabel eines früheren, ungelöste questionASPNetCore MVC Routing Let Server Handle bestimmte Route

Auf einem Remote-Web-Host, bin ich ein Benutzer. Es ist eine Shared-Hosting-Umgebung. Der Host verwendet Plesk, und ich versuche, meine AspNetCore-Anwendung zu reparieren, um die Installation und automatische Erneuerung von Let's Encrypt zu ermöglichen.

Ich bin sicher, dass die AspNetCore-Anwendung die Installation von Let's Encrypt und die automatische Erneuerung behindert, da ich eine leere Site erstellen und Let's Encrypt-Zertifikate ohne Probleme installieren kann und wenn ich eine neue Site mit einem 'Quickstart' AspNetCore erstelle Anwendung schlägt die Installation und Erneuerung fehl.

Ich vermute, der Host kann so konfiguriert werden, dass alle Anfragen an ein Verzeichnis ./well-known/ zu einem virtuellen Verzeichnis weitergeleitet werden, auf das ich keinen Zugriff habe (auf eine Antwort vom Host wartend).

Alle Lösungen, auf die ich angewiesen wurde oder die bereitgestellt wurden, erforderten eine Art administrativen Zugriff auf den Server, was in meinem Fall keine Lösung ist. Ich bin ein Benutzer.

Eine der Lösungen bestand darin, die Route zu konfigurieren und die Anwendung den angeforderten Challenge-Schlüssel bereitstellen zu lassen. Da ich keinen Zugriff auf das (möglicherweise) Alias-Verzeichnis habe, kann MVC auf diese Weise die Route nicht behandeln.

Das einzige, was mir einfällt, ist irgendwie MVC Routen zu konfigurieren, so dass, wenn es eine Anfrage für empfängt, ist die Anfrage an den Server übergeben. Eine wörtliche Pass-Through-Route, um sicherzustellen, dass das MVC-Routing nicht beeinträchtigt wird, tut nichts, stoppt die Anforderung jedoch nicht und lässt den Server nur die Anforderung verarbeiten. Ist das möglich?

+0

Ich weiß nicht über Plesk, aber in einer IIS web.config-Datei müssten Sie eine Regel für Let's Encrypt hinzufügen. Standardmäßig werden statische Dateien aus dem Unterverzeichnis/wwwroot bereitgestellt, so dass Anforderungen an /wwwroot/.well-known weitergeleitet werden und 404s erzeugen. – GeorgDangl

+0

Das ist in dem anderen Beitrag abgedeckt. Ich habe keinen /.well-known/ Ordner in meinem virtuellen Verzeichnis des Hosts sichtbar, also habe ich den Unterordner wwwroot sowie alle Unterverzeichnisse überprüft, weshalb ich glaube, dass es sich um einen alias konfigurierten Server handelt. Ich kann die Serverkonfiguration nicht ändern, noch glaube ich, dass der Host ihre Konfiguration ändert. Entweder finde ich eine Arbeit, oder ich wechsle Hosting Provider. –

Antwort

2

Der Host hat die Lösung gefunden. Dies war eine IIS-Konfigurationssache.

Im Verzeichnis ./.well-known/ erstellen eine Datei namens web.config

web.config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <handlers> 
      <remove name="aspNetCore" /> 
     </handlers> 
    </system.webServer> 
</configuration> 

Ich bin nicht genau sicher, was dies tut, aber es sieht aus wie es zu aspNetCore aus der Verarbeitung von Anrufen ausschließt dieses Verzeichnis.