web-dev-qa-db-fra.com

Chrome ajoute un en-tête HTTPS bizarre: 1 en-tête à toutes les demandes.

De nombreuses erreurs étranges se sont produites sur des sites Web liés au protocole HTTPS. Ces sites fonctionnent très bien dans FF et IE, mais ne parviennent pas à se charger dans Chrome. Il semble que bien que je demande une URL non sécurisée (http), Google Chrome ajoute un en-tête supplémentaire HTTPS:1 à la demande.

Cela provoque certains serveurs, probablement certains qui utilisent le déchargement SSL et fournissent un hébergement partagé, à répondre avec une erreur car il n’existe pas de SSL sur le serveur.

Je ne suis pas redirigé vers une page sécurisée (HTTPS), mais toutes les URL internes de la source sont en cours de modification en https.

J'ai vérifié la connexion avec le violoneux. Cette analyse n’est pas effectuée sur mon ordinateur et la seule différence est cet en-tête HTTPS:1.

J'ai créé une simple page PHP qui affiche la variable $_SERVER. Quand j'y accède avec chrome je peux voir: [HTTP_HTTPS] => 1. Je ne peux pas le voir avec FireFox.

J'ai essayé de supprimer toutes les données, d'éliminer l'appariement de chrome de mon compte Google, ainsi que de supprimer et d'installer Chrome à partir de zéro.

Quelqu'un a une idée à ce sujet? Ça me rend fou.

19
TwoDiv

Apparemment, un bogue dans la version 44 semble être corrigé dans la dernière mise à jour. J'utilise maintenant 44.0.2403.107 et le problème semble avoir disparu.

Plus d'informations ici: http://www.zdnet.com/article/brand-new-chrome-44-release-added-a-bug/

4
TwoDiv

Il est fort probable que les sites avec lesquels vous rencontrez des problèmes exécutent un code serveur qui interprète de manière incorrecte l'en-tête de demande HTTPS: 1. Par exemple, le plugin Wordpress WooCommerce, qui s'exécute sur environ 900 000 sites , contient un code défectueux qui gère incorrectement l'en-tête HTTPS: 1. Voir leur dernier correctif ici: https://woocommerce.wordpress.com/2015/07/07/woocommerce-2-3-13-security-and-maintenance-release/

Un article similaire est disponible sur StackOverflow: https://stackoverflow.com/questions/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt/31570584#31570584

Pour donner plus de détails: Chrome a mis en œuvre la spécification Upgrade Requises non sécurisées du Consortium World Wide Web (W3C). La section 3.2.1 de cette spécification est . Le champ d'en-tête de demande HTTP Upgrade-Insecure-Requests qui indique

3.2.1. Champ d'en-tête de requête HTTP Upgrade-Insecure-Requests

Le champ d'en-tête de demande HTTP Upgrade-Insecure-Requests envoie au serveur un signal indiquant la préférence du client pour une réponse chiffrée et authentifiée et indiquant qu'il peut gérer avec succès la directive upgrade-insecure-request afin de rendre cette préférence aussi transparente que possible. fournir.

Cette préférence est représentée par l'ANBF suivant:

"Requêtes non sécurisées de mise à niveau:" * WSP "1" * WSP

Des sites tels que ceux qui utilisent le plugin WooCommerce dans Wordpress réécrivent incorrectement toutes les URL de la réponse sous forme de liens https:\\ si l'en-tête HTTPS: 1 a été défini dans une demande non sécurisée (http).

En tant qu'utilisateur final de ce site, le seul moyen facile de contourner le problème consiste à utiliser un navigateur autre que Chrome jusqu'à ce que ces sites Web soient réparés.

15
Kirby

c’est plus qu’un simple commerce, c’est tout le monde de wordpress qui va de travers, causant de mauvais css, des images, etc.

ajoutez ceci au sommet de votre wp-config.php pour le supprimer

if($_SERVER['HTTP_HTTPS'] && !$_SERVER['HTTPS'])
{    unset($_SERVER['HTTP_HTTPS']);
}
3
Any

Vous pouvez essayer ceci pour supprimer l’en-tête HTTP_HTTPS.

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
    unset($_SERVER['HTTP_HTTPS']);
}
1
Aley