Chrome Version 44.0.2403.89 m versucht, HTTPS zu erzwingen

7

Mit der Veröffentlichung von Chrome Version 44.0.2403.89 m habe ich festgestellt, dass unsere Website jetzt vollständig defekt ist. Alle HTTP-URLs werden zu HTTPS-URLs umgeleitet. Dies ist ein Problem, da unsere Website HTTPS nicht unterstützt.

Bitte beachten Sie, dass dies in keinem anderen Browser der Fall ist und an der vorherigen Chrome-Version gearbeitet hat.

Ich habe versucht, alle unsere Stylesheet-Aufrufe durch relative Links zu ersetzen, und das hat funktioniert, aber die Bilder, die automatisch oder über absolute Pfade sowie die Navigation geladen werden, sind immer noch fehlerhaft. In der Abbildung unten finden Sie die Fehlerseite, die beim Navigieren angezeigt wird, nachdem Sie die Sicherheitswarnung akzeptiert und fortgefahren haben.

Fehler beim Navigieren zu einer Seite.

Hat jemand einen Rat bezüglich der Aktualisierung der .htaccess-Datei oder etwas in Funktionen?

Vielen Dank.

Harry Ray
quelle
Dies ist ein Fehler in Chrome oder Woocommerce oder in Apache , nicht in WordPress. Warten Sie auf ein Update.
Fuxia
@toscho Ich hatte gehofft, dass dies der Fall sein würde, nachdem ich ungefähr eine Stunde lang die Foren durchforstet hatte, danke.
Harry Ray
Chrome wurde geändert, um dem WooCommerce-Fehler Rechnung zu tragen. Wenn Sie sich Sorgen über alte WooCommerce-Websites machen und Benutzer Chrome nicht aktualisieren, hat SSL Insecure Content Fixer einen Fix integriert.
Webaware

Antworten:

6

Lösung 1: Aktivieren Sie mod_header auf dem Server und fügen Sie diese Regel meiner Datei appache2.conf hinzu:

<IfModule mod_headers.c>
  RequestHeader unset HTTPS
</IfModule>

Lösung 2: Oder Sie müssen den Code zur Datei fonction.php Ihres aktuellen Themas hinzufügen:

function https_chrome44fix() {
  $_SERVER['HTTPS'] = false;
}
add_action('init', 'https_chrome44fix',0); 
Stepan
quelle
Sehr verpflichtet, @Stepan! Ihr functions.php Fix scheint den Trick getan zu haben!
Harry Ray
Lösung 1 ist gut für Apache. Lösung 2 ist schlecht für alle Sites, die HTTPS tatsächlich unterstützen.
Webaware
5

Dies scheint ein Fehler zu sein, der nur Apache betrifft, der den Benutzerwert für den Header HTTPSals nicht fixierten Header HTTPSanstelle von sendet HTTP_HTTPS.

Sie sollten dies mit einem einfachen Plugin beheben können :

if ( empty ( $_SERVER['SERVER_SOFTWARE'] ) )
    return;

if ( FALSE === stristr( $_SERVER['SERVER_SOFTWARE'], 'apache' ) )
    return;

if ( empty ( $_SERVER['HTTPS'] ) )
    return;

if ( '1' === $_SERVER['HTTPS'] )
    $_SERVER['HTTPS'] = FALSE;

if ( '1' === $_SERVER['HTTP_HTTPS'] )
    $_SERVER['HTTP_HTTPS'] = FALSE;
Fuxia
quelle
Der vorletzte Test verhindert, dass einige Serverkonfigurationen korrekt getestet werden is_ssl(). Dies ist nicht erforderlich, da der Google Chrome-Header nur als angezeigt wird HTTP_HTTPS. Diese Super User-Antwort enthält weitere Details zu diesem Problem. Google Chrome sendet diesen Header nicht mehr (bei aktualisierten Versionen).
Webaware
@webaware In diesem Fall brauchst du das Plugin nicht, oder?
Fuxia
Jemand, der sich fragt, warum seine Nicht-HTTPS-Seiten HTTPS-Ressourcen laden, installiert möglicherweise Ihr Plugin und bricht seine HTTPS-Seiten :)
webaware
2
@webaware Gut! Dann lernen sie eine wichtige Lektion: Installieren Sie niemals Code, den Sie nicht verstehen.
Fuxia
2

WooCommerce hat ein Update veröffentlicht, das dieses Problem behebt (zumindest für mich).

Fix - Google Chrome wurde gezwungen, SSL zu verwenden. Dies kann auf Websites hinter Load Balancern oder Reverse Proxys zu Problemen führen. Weiterlesen.

Detaillierte Hinweise in ihrem Blogbeitrag oder in GitHub .

Stellen Sie sicher, dass Sie Ihre Caching-Plugins nach dem Update aktualisieren, falls Sie eines verwenden.

Jukka Rautanen
quelle
-1

Sie müssen den Code zur Datei fonction.php Ihres aktuellen Themas hinzufügen:

if (!is_ssl()) {
 $_SERVER['HTTPS'] = false;
}
Jigar Kotak
quelle
-1 - is_ssl()wäre wahr, wenn $_SERVER['HTTPS']entweder 'on' oder '1' wäre.
Webaware