Kein Zugriff auf lokale Site mit https mit aktuellem Firefox oder Chrome möglich

0

Von ServerFault erneut gepostet, da ich für diese Frage auf diese Site verwiesen wurde.

Ich habe eine lokale Entwicklungssite mit einem virtuellen Host gpd.local, der standardmäßig https verwendet.

Bis vor kurzem konnte ich über https sowohl auf Firefox als auch auf Chrome auf die lokale Site zugreifen. Aber vor ein paar Tagen kann ich nicht. Ich erhalte die Meldung, dass die Site ein ungültiges SSL-Zertifikat verwendet (übersetzt aus dem Griechischen in Firefox: "Fehler beim Sichern der Verbindung. Seite konnte ihre Identität nicht bestätigen") . Auf dem Chrome wird angezeigt: ERR_CONNECTION_RESET nach dem Löschen des Chrome-Caches erhalte ich das NET :: ERR_CERT_AUTHORITY_INVALID Fehlermeldung). Und es gibt KEINE Möglichkeit, eine Ausnahme hinzuzufügen (weder Firefox noch Chrom), wie es früher war.

Ich verwende XAMPP 7.2.3 unter Windows 7 und verwende das mit XAMPP gelieferte Apache SSL-Standardzertifikat (ich denke, es ist für example.com, aber es funktionierte einwandfrei, indem ich eine Ausnahme hinzufügte).

Ich benutze Firefox V64 für Windows und Chrome V71.0.3578.98 für Windows.

Wie Sie im Screenshot unten sehen können, ist die Ausnahme in der Tat in Firefox vorhanden (es ist in Griechisch)

ff Zertifikate

Die Spalten sind:

  1. Zertifikatname = Unbekannt (nicht gespeichert)
  2. Server = gpd.local: 443
  3. Lebensdauer: Permanent
  4. Läuft ab: [leer]

Was kann ich tun, um das zu beheben?

AKTUALISIEREN:

Ja, die lokale Site sollte funktionieren https. Es ist ein Muss und es funktioniert auch auf einem Live-Server dev. Die Option, nicht zu verwenden, httpskann ich also nicht befolgen. Es ist eine Voraussetzung.

Idealerweise möchte ich, dass es so funktioniert, wie es bisher funktioniert hat. Dies bedeutet, dass Sie ein Standardzertifikat verwenden und Ausnahmen pro lokalem Standort hinzufügen.

Insbesondere möchte ich die SSL-Prüfung nicht global im Browser deaktivieren, und ich würde es vorziehen, keine neuen Zertifikate für jede lokale Site erstellen zu müssen.

Das Einstellen Apache headersist eine mögliche Lösung, aber bisher kann ich es nicht zum Laufen bringen. Wenn jedoch kein anderer Weg gefunden wird, kann ich versuchen, auch neue Zertifikate mit entsprechenden Anweisungen zu erstellen.

UPDATE2: Ich habe eine andere Mirror-Dev-Site lokal mit SSL und HTTPS unter Verwendung einer älteren Version von Apache (ältere XAMPP-Version 1.8.0) und es funktioniert einwandfrei, keine SSL-Fehler und es wird immer noch ein Standardzertifikat verwendet, das mit der Apache-Installation geliefert wird. Ich frage mich also, ob dies irgendetwas mit einer neueren Version von Apache (neuere Version von XAMPP) zu tun hat und wie man das Problem löst. Vielleicht eine Einstellung in Apache?

Hilfe wird sehr geschätzt

Nikos M.
quelle
Was ist der genaue Fehler, den Sie erhalten?
Appleoddity
@Appleoddity, in Firefox heißt es Fehler beim Sichern der Verbindung (es ist in Griechisch, das ich übersetze) und die Seite kann ihre Identität nicht bestätigen. Es ist seltsam, weil es vor ein paar Tagen mit genau den gleichen Einstellungen gut funktioniert hat. Ich erhalte keinen bestimmten ERR_whatever-Code auf der Seite
Nikos M.
@ Appleoddity auf Chrom heißt es: ERR_CONNECTION_RESET
Nikos M.
@ Appleoddity Nach dem Löschen des Chrome-Cache erhalte ich die Fehlermeldung NET :: ERR_CERT_AUTHORITY_INVALID keine Option zum Hinzufügen einer Ausnahme
Nikos M.
Auf Chrome gibt es eine Option, um das Zertifikat unter "Stammzertifikate" oder so etwas hinzuzufügen. Aber warum hat es vorher funktioniert und wie kann ich das auch für Firefox tun?
Nikos M.

Antworten:

0

Ich bin kein Experte in diesem Bereich, aber meine Recherchen haben ergeben, dass das Problem darin besteht, dass Sie das Standard-Apache-Zertifikat verwenden, aber zu einer URL wie dieser navigieren mysite.dev. Da das Standardzertifikat in Apache weder mysite.devden allgemeinen Namen noch den alternativen Antragstellernamen enthält und / oder das Zertifikat nicht von einer vertrauenswürdigen Stelle signiert ist, lehnt der Browser es ab.

Hier gibt es zwei Möglichkeiten. Ihr Apache-Webserver enthält möglicherweise HSTS-Header, die den Browser anweisen, die HTTPS-Sicherheit zu erzwingen. Möglicherweise lehnen die Browser das SSL-Zertifikat ab, da es sich um ein Standardzertifikat handelt oder die Domänennamen, auf die Sie zugreifen möchten, nicht enthalten sind.

In beiden Fällen habe ich bei ServerFault einen hervorragenden Beitrag gefunden, in dem beschrieben wird, wie ein neues selbstsigniertes Zertifikat mit einem alternativen Antragstellernamen und einem CN erstellt wird, der mit den zu verwendenden Domänen übereinstimmt, und wie es in Apache installiert wird. und alternativ, wie HSTS-Header in Apache deaktiviert werden, damit der Browser Ihnen die Option gibt, wie zuvor fortzufahren.

https://serverfault.com/a/867838/425565

Appleoddity
quelle
Ich werde es überprüfen und Sie wissen lassen. In der Zwischenzeit ist es merkwürdig, weil es vor ein paar Tagen gut funktioniert hat. Möglicherweise haben die neuesten Updates der Browser dies geändert. Im Idealfall suche ich jedoch nach einer generischen Lösung für alle meine Entwicklerwebsites, die ich zu Entwicklungszwecken lokal verwende, anstatt für jedes von mir erstellte Zertifikat neue Zertifikate erstellen und importieren zu müssen.
Nikos M.
@Nikos Versuchen Sie, die HSTS-Header in Apache so anzupassen, dass der Browser die Verwendung eines nicht vertrauenswürdigen SSL-Zertifikats ermöglicht. Erwägen Sie außerdem, HTTPS nur dann für lokale Entwicklungsstandorte zu verwenden, wenn dies unbedingt erforderlich ist. Das ist eine Menge zusätzlicher Probleme ...
Appleoddity
Ja, das ist es, was ich gerade überprüfe. Ich werde es Sie wissen lassen
Nikos M.
Leider kann ich die Apache-Header nicht zum Laufen bringen (mod_headers.so ist geladen). Ich habe sie beide auf: 80 virtuellen Hosts und: 443 virtuellen Hosts hinzugefügt (zuerst nur auf: 80 virtuellen Hosts). Immer noch das gleiche Problem. Wenn Sie eine Idee haben, wie Sie arbeiten sollen, aktualisieren Sie bitte Ihre Antwort
Nikos M.
0

Anstatt einzelne Kontrollkästchen zu verwenden, arbeitet Firefox jetzt mit einer Reihe von SSL / TLS-Protokollen. Der Zugriff auf diese Einstellungen erfolgt über den Einstellungseditor about: config.

Niedrigstes akzeptables Protokoll: security.tls.version.min (Standard SSL3.0 = 0)

Höchstzulässiges Protokoll: security.tls.version.max (Standard TLS1.0 = 1)

Ändern:

(1) Geben oder fügen Sie in einem neuen Tab about: config in die Adressleiste ein und drücken Sie die Eingabetaste. Klicken Sie auf die Schaltfläche, um vorsichtig zu sein.

(2) Geben Sie in das Suchfeld oberhalb der Liste tls ein oder fügen Sie sie ein und halten Sie an, während die Liste gefiltert wird

(3) Doppelklicken Sie auf security.tls.version.min, um SSL3 zu deaktivieren, und geben Sie den gewünschten Wert ein.

0 = SSL 3.0 in Ordnung 1 = mindestens TLS 1.0 2 = mindestens TLS 1.1 Siehe WARNUNG unten (4) Um TLS der einen oder anderen Variante zu deaktivieren, doppelklicken Sie auf security.tls.version.max und geben Sie den gewünschten Wert ein:

0 = bis 3,0 1 = bis zu TLS SSL 1.0 2 = bis zu TLS 1.1 WARNUNG unten WARNUNG Siehe: In den folgenden Artikel Nach Formation TLS 1.1 können Verbindungen zu älteren Servern verhindern arbeiten: http://kb.mozillazine.org/ Security.tls.version . *

Gabriel Mendez
quelle
Danke, aber ich möchte SSL oder TLS nicht auf Firefox deaktivieren, da dies für alle Websites deaktiviert wird. Vielmehr möchte ich im Idealfall eine Ausnahme nur für die lokalen Sites hinzufügen, über die ich verfüge, ohne für jede neue Zertifikate erstellen zu müssen. Mit anderen Worten, wie es bisher funktioniert hat. Das Setzen von Apache-Headern ist vielleicht eine Option, aber ich kann es nicht zum Laufen bringen. Andernfalls könnte ich etwas anderes versuchen, aber auf keinen Fall werde ich SSL auf Firefox oder Chrom deaktivieren
Nikos M.