52 votos

Safari Redirigiendo http a (inexistente) https

Safari obliga a redirigir a la versión https de un sitio que visité anteriormente a través de https.

Sin embargo, el sitio https ya no funciona y no hay manera de evitar que la forma Safari trate de cargarlo.

HTTP redirects to HTTPS

Aquí hay una pregunta relacionada con los Foros de Apple, Safari sigue redirigiendo http a https

0 votos

¿Es posible que HSTS haya sido habilitado en alguna parte en el pasado?

0 votos

@MaxRied Me parece una buena sugerencia, no tengo forma de saberlo. Como referencia: es.wikipedia.org/wiki/HTTP_Strict_Transport_Security

35voto

siva Puntos 23

Si el sitio ha indicado previamente a Safari que desea que siempre se acceda a él por HTTPS a través de HSTS ( Estricta seguridad de transporte HTTP ), entonces Safari siempre intentará redirigir a HTTPS.

Puedes borrar el caché del HSTS borrando ~/Library/Cookies/HSTS.plist .

Ten en cuenta que Safari también hace redirecciones de la caché 301 durante un tiempo, por lo que puede ser necesario vaciar la caché normal de Safari: en el menú Desarrollo (habilitado en Preferencias → Avanzado), elige Vaciar caché.

Para el 2020...

En el MacOS actual, debes

  1. Despeja la memoria caché en Safari e inmediatamente

  2. Deja Safari, y cualquier otra aplicación que pueda usar la red (deja todas las aplicaciones)

  3. Abrir /Users/ your user name /Library/Cookies que se verá como:

    enter image description here

  4. Lanza HSTS.plist en la basura, y luego inmediatamente reiniciar todo el Mac.

En casos extremos, apaga todo el ancho de banda del Mac antes de los pasos 1-2-3-4.

En el MacOS actual, la lista de HSTS se reconstruye inmediatamente si el archivo se tira, si ocurre alguna red. Por lo tanto, el Mac necesita un reinicio inmediato para que la basura funcione.

0 votos

Debería empezar a escribir las respuestas...

14 votos

@grgarside He intentado esto varias veces, ya no funciona

0 votos

"Borrar la caché normal de Safari", ¿cómo, exactamente?

29voto

Política de HSTS se incluye ahora en los datos almacenados del sitio web de Safari, y puedes eliminar los datos del localhost para solucionar este problema.

  1. command + ,
  2. Privacidad -> Gestionar los datos del sitio web ...
  3. Busque en localhost
  4. Haga clic en Eliminar

Cambiar https://localhost a http://localhost en su barra de direcciones y haga clic en la tecla de retorno.

4 votos

Esto se aplica no sólo a localhost sino a cualquier dominio. Tenga en cuenta que para acceder a subdominio , tienes que eliminar datos del dominio principal . Es decir, si quiere acceder a http://some.subdomain.somehost.com y ser redirigido a https , tiene que buscar somehost.com en el Manage Website Data página y eliminarla.

11voto

¡Desde diciembre de 2017, Google ha añadido el TLD ".dev" a la lista HSTS precargada para Chrome!

Safari utiliza la misma lista. Así que Safari siempre añadirá *.dev a la lista HSTS...

Parece que muchos desarrolladores tendrán que cambiar el sufijo .dev por otro :(

Ver: Chrome obligará a los dominios .dev a usar HTTPS mediante HSTS precargado

2 votos

Esto incita mi rabia. Ningún TLD debería ser enteramente poseído. Hay cosas maravillosas llamadas VPNs o Intranets que serían apropiadas. (P.D. mi rabia se dirige a Google, no a la respuesta) :).

0 votos

Lol, mi sufijo es .dev. Aquí me pregunto por qué funciona en Postman y no en el navegador -_-

9voto

saintmarl Puntos 71

No he encontrado ninguna solución que funcione, pero para una solución alternativa utilice 127.0.0.1 en lugar de localhost

http://localhost/

http://127.0.0.1/

0 votos

¡Super! Gracias por compartirlo.

0 votos

Gracias. Me ha funcionado.

1voto

user8996 Puntos 1564

Parece que Safari entra en este comportamiento loco cuando ha accedido a localhost usando un certificado del lado del cliente. En mi caso, uno de los proyectos con los que trabajo necesita esta configuración del lado del cliente y arruina totalmente el desarrollo de los proyectos en los que no puedo usar http en localhost. La única solución que he encontrado es editar /etc/hosts y añadir un alias para localhost, así

127.0.0.1 localhost

Entonces puedo usar http://localhost:3000 para acceder a mi proyecto en el puerto 3000 sin que Safari fuerce una conexión https.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X