Chrome agrega HTTPS extraños: 1 encabezado a todas las solicitudes

19

He recibido muchos errores extraños en sitios web relacionados con HTTPS. Estos sitios funcionan muy bien en FF e IE, pero no se cargan en Chrome. Parece que aunque solicito una URL no segura (http), Google Chrome agrega un encabezado adicional HTTPS:1a la solicitud.

Esto hace que algunos servidores, probablemente algunos que usan SSL de descarga y proporcionen un alojamiento compartido, respondan con un error ya que no hay SSL en el servidor.

No estoy siendo redirigido a una página segura (HTTPS), sino que todas las URL internas de la fuente se están editando a https.

He comprobado la conexión con el violinista. Este análisis no se realiza en mi computadora y la única diferencia es este HTTPS:1encabezado.

He creado una página PHP simple que imprime la $_SERVERvariable. Cuando puedo acceder a él con el cromo puedo ver: [HTTP_HTTPS] => 1. No puedo verlo con FireFox.

Intenté borrar todos los datos, desemparejar Chrome de mi cuenta de Google y eliminar e instalar Chrome desde cero.

Alguien tiene alguna idea sobre esto? Me vuelve loco.

TwoDiv
fuente
Tuve el mismo problema con Chrome Chrome, pero solo en un sitio específico donde me engañé con redirecciones http-> https. Supongo que tiene algo que ver con el caché de redireccionamiento 301. Chrome no me redirigió a https después de borrar un caché completo del navegador. Sin embargo, no resuelve el problema del encabezado https. Lo "resolví" al no usar canario para el sitio específico. Hoy, el mismo problema comenzó de nuevo en Chrome estable PERO ya no en canario. Supongo que el caché en canario ha caducado. No lo he probado por algún tiempo. Se ve totalmente al azar para mí. Perdón por no darte una respuesta. Pero, desde que
Azeruel
Sí, también estoy viendo esto a partir de ayer. Volviéndome loco también.
Kirby
Chrome es muy, muy agresivo cuando se trata de seguridad. Google probablemente esté haciendo esto por razones comerciales: si no puede proteger los datos de los usuarios contra los actores gubernamentales, los usuarios perderán su fe en Google muy rápidamente. Por lo tanto, Google considera que establecerse como un líder en privacidad en Internet es una prioridad, a pesar del hecho de que su modelo de negocio basado en anuncios depende completamente del seguimiento del comportamiento del usuario. Los usuarios confían en Google para ser un administrador seguro de sus datos personales, para no filtrar datos a terceros no autorizados, por lo que no pueden permitirse hacer nada menos.
bwDraco - Restablece a Mónica

Respuestas:

15

Lo más probable es que los sitios con los que tiene problemas ejecuten código de servidor que interprete incorrectamente el HTTPS: 1encabezado de la solicitud. Por ejemplo, el complemento Wordpress WooCommerce, que se ejecuta en aproximadamente 900,000 sitios , tiene un código defectuoso que maneja incorrectamente el HTTPS: 1encabezado. Vea su último documento de parche aquí: https://woocommerce.wordpress.com/2015/07/07/woocommerce-2-3-13-security-and-maintenance-release/

Hay una publicación similar en StackOverflow: /programming/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt/31570584#31570584

Para dar más detalles: Chrome ha implementado la especificación de Solicitudes inseguras de actualización del World Wide Web Consortium (W3C). La Sección 3.2.1 de esa especificación es el campo Encabezado de solicitud HTTP de Solicitudes de actualización inseguras que establece

3.2.1. El campo de encabezado de solicitud HTTP Upgrade-Insecure-Requests

El campo de encabezado de solicitud HTTP Upgrade-Insecure-Requests envía una señal al servidor que expresa la preferencia del cliente por una respuesta encriptada y autenticada, y que puede manejar con éxito la directiva de actualización-inseguras-peticiones para que esa preferencia sea lo más fluida posible Para proveer.

Esta preferencia está representada por el siguiente ANBF:

"Solicitudes de actualización inseguras:" * WSP "1" * WSP

Los sitios como los que ejecutan el complemento WooCommerce en Wordpress están reescribiendo incorrectamente todas las URL en la respuesta como https:\\enlaces si el HTTPS: 1encabezado se configuró en una solicitud no segura (http).

Como usuario final de ese sitio, la única solución fácil es usar un navegador que no sea Chrome hasta que esos sitios web sean reparados

Kirby
fuente
Gracias por la respuesta elaborada, he visto que este código se implementó, pero dado que este problema es específico de mi computadora (lo he verificado con diferentes computadoras en la oficina), asumo que hay una manera de desactivarlo. Otras computadoras no envían el encabezado HTTPS: 1, es específico para mi computadora
TwoDiv
1
No es específico de su computadora. Supongo que los otros usuarios aún no han actualizado a la última versión de Chrome
Kirby
wow esto va a ser un problema potencialmente grande para WooCommerce. Ejecuto dos sitios separados (no habilitados para https) en Woo y los he parcheado con la solución que han lanzado, sin embargo, ¡puedo imaginarme a muchos propietarios de tiendas quejándose de este!
lisburnite
Creo que no es solo un problema de WooCommerce, sino la forma en que el Servidor lee los encabezados. En mi trabajo, usamos SSL sin carga, y utilizamos el parámetro HTTP-Proto para informar al servidor si la solicitud llegó a HTTPS. El servidor recibe una solicitud HTTP simple y la analiza como si fuera HTTPS. Supongo que este es el mismo problema y si la configuración del servidor no permite HTTPS, no tiene SSL o usa carpetas diferentes para http y https, se bloqueará
TwoDiv
3
@lisburnite, ¿está operando sitios de comercio que no se sirven a través de HTTPS? Probablemente debería darles a sus clientes algo de protección y arreglar eso ...
Ashley
3

es más que solo Wocommerce, es todo WordPress que se está volviendo loco causando mal CSS, imágenes, etc.

agregue esto a la parte superior de su wp-config.php para eliminarlo

if($_SERVER['HTTP_HTTPS'] && !$_SERVER['HTTPS'])
{    unset($_SERVER['HTTP_HTTPS']);
}
Ninguna
fuente
@ cualquier panel de administración no funcionará.
Dhruv Kapatel
usarlo en muchos sitios web que se rompieron ayer, sin ningún problema
Cualquier
1

Puede intentar esto para desarmar el HTTP_HTTPSencabezado.

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