Tengo un dispositivo con un panel de control basado en web, y accidentalmente puse a redirigir todas las http
páginas a https
, a pesar de que algunos no funcionan más https
. Aunque desde entonces he corregido este, Safari parece haber memorizado la redirección y se niega a olvidar que, en lugar de intentar constantemente me redirigir a la inválido https
dirección.
Yo ya he cerrado Safari, limpiado ~/Library/Caches/com.apple.Safari/
y ~/Library/Cookies/HSTS.plist
pero todavía parece estar recordando la redirección cuando vuelve a abrir.
¿Dónde más podría ser Safari almacenar esta información? Puedo acceder a la página correcta a través de Firefox o Chrome, por lo que no puede ser un gran servicio del sistema, o si es que no es uno que los otros navegadores utilizan.
Desafortunadamente, debido a que el panel web es proporcionado por un dispositivo, no creo que pueda ajustar los encabezados o configurar una redirección a la URL correcta, que parecen ser opciones ofrecidas en otras preguntas similares, por lo que realmente necesito averiguar dónde los datos se almacenan para que pueda destruirlo con fuego.
~/Library/Safari
carpeta y ver si eso soluciona el problema? Si lo hace, puede experimentar con elementos dentro de la carpeta hasta que encuentre el archivo culpable.Respuestas:
Basado en la respuesta de quanta :
No pude usarlo
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
porque tengo habilitada la Protección de integridad del sistema :Sin embargo, pude solucionarlo haciendo lo siguiente:
killall nsurlstoraged
(detiene el proceso nsurlstoraged de su usuario, en realidad me encontrésudo killall nsurlstoraged
, pero sospecho que no es necesario detener el sistema está nsurlstoraged también, ya que la memoria caché se encuentra en la carpeta de la biblioteca de usuario)rm -f ~/Library/Cookies/HSTS.plist
(elimina el caché HSTS)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(reinicia nsurlstoraged)fuente
HSTS.plist
archivo no se solucionará el problema, ya que seguirá siendo reconstruido. Sin embargo, después de matarnsurlstoraged
y luego eliminar el archivo HSTS, ¡eso funcionó!~/Library/Cookies/HSTS.plist
y elimine la entrada del sitio que deseo en http 3. Reinicie la computadorarm -f ~/Library/Cookies/HSTS.plist
volverá aOperation not permitted
menos que haya otorgado Acceso total al disco a Terminal.app en Preferencias del sistema => Seguridad y privacidad => Privacidad. De lo contrario, la solución funcionó a la perfección. ¡Gracias!rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist
me ayudó, pero lokillall nsurlstoraged
hizo.Si habilita el menú Desarrollar en las preferencias de Safari, puede borrar el caché desde allí (CMD + ALT + E).
¿Puede confirmar que abrir el panel de control del dispositivo en la ventana Privada de Safari (o en un navegador web diferente) funciona correctamente?
fuente
~/Library/Caches/com.apple.Safari
por lo que la redirección debe almacenarse en otro lugar. HSTS fue la característica que accidentalmente habilité pero que ya he eliminado~/Library/Cookies/HSTS.plist
.Basado en la respuesta de @ Haravikk: /apple//a/267783/62907
fs_usage puede ayudar:
Para que podamos:
luego:
e intenta de nuevo.
fuente
Obtendrá buenos resultados si utiliza la línea de comando para
curl
el dispositivo para asegurarse de que no está haciendo la redirección. Safari realmente no tiene un motor para reescribir direcciones, especialmente si ingresa a la navegación privada para eliminar cualquier historial, cookies, etc.Si no está seguro de haber limpiado el suficiente Safari, también puede prueba por las preferencias del sistema de apertura y hacer una nueva cuenta limpia / usuario en el Mac y probar el sitio en una versión totalmente limpia de Safari después de salir de su usuario normal .
fuente
Así que he encontrado una solución al problema, aunque esta no es una respuesta definitiva a la pregunta real, por lo que no la marcaré como tal hasta que pueda encontrar más información.
Resulta que el archivo
~/Library/Cookies/HSTS.plist
fue de hecho la fuente del problema, como sospeché, sin embargo, eliminarlo de la cuenta de usuario afectada no funciona, incluso con Safari cerrado, ya que se vuelve a crear después de un período de tiempo desconocido, completa con la infracción entrada que estaba forzando la redirección no válida.Entonces mi solución fue la siguiente:
su shortname
reemplazando "nombre corto" con el nombre corto de la cuenta de usuario afectada. Presione enter y, cuando se le solicite, ingrese la contraseña de la cuenta afectada.rm ~/Library/Cookies/HSTS.plist
y presione enter, esto eliminará el archivo de almacenamiento HSTS.exit
, presione enter y cierre la Terminal.En este punto, ahora puede volver a iniciar sesión en la cuenta de usuario afectada y la redirección HSTS ofensiva debería desaparecer para siempre.
Ahora, si bien esto proporciona una solución utilizable, realmente me gustaría saber por qué no funcionó eliminar el archivo HSTS.plist de mi cuenta afectada; el hecho de que se vuelva a crear significa que algún proceso en segundo plano es responsable de ello, lo que significa que debería ser posible eliminar el archivo de la cuenta de usuario afectada simplemente deteniendo ese proceso, eliminando el archivo y luego reiniciando el proceso.
¿Alguien tiene alguna idea de qué proceso es responsable del
~/Library/Cookies/HSTS.plist
archivo? Una vez que sepamos que debería ser posible dar una solución más simple al problema.fuente
Aquí hay una idea!
Dice que no puede deshacer la redirección configurando el servidor para redirigir las solicitudes https de nuevo a http (ya que no tiene acceso de administrador para hacerlo).
Pero, ¿qué sucede si engañas a Safari para que se conecte a un servidor diferente que ofrece esta redirección inversa?
Puede configurar esto en el
/etc/hosts
archivo de su máquina local .Por ejemplo, supongamos que la redirección actual en caché es de
http://example.com
ahttps://example.com
.Ahora configure o identifique una URL que puede solicitar en cualquier servidor del mundo que redirija desde https a http. Digamos que el servidor tiene la dirección de
https://redirecting.example.com
.Luego busque la dirección IP de
redirecting.example.com
. En Terminal puedes hacer así:Obtienes un resultado algo como esto:
Ahora abra su archivo / etc / hosts y agregue una nueva línea que apunte las solicitudes de example.com a la dirección IP de redirecting.example.com, así:
Guarde sus cambios y borre su caché DNS en la terminal de esta manera:
Luego, en Safari, la solicitud de
https://example.com
respuesta debe ser una redirección de regresohttp://example.com
, en cuyo punto (con los dedos cruzados) se sobrescribirá su redirección de Safari de hace 6 meses.Cuando termine, elimine la línea que agregó a su archivo / etc / hosts y vacíe su caché DNS nuevamente.
fuente
~/Library/Cookies/HSTS.plist
ser el culpable, pero eliminarlo de la cuenta afectada no funciona (ya que se recrea algún tiempo después, completa con una mala redirección). Sin embargo, no estoy seguro de qué proceso lo está haciendo.Después de probar todas estas soluciones, lo que funcionó para mí fue:
~/Library/Cookies/HSTS.plist
fuente
Mis dos centavos para el nuevo macOS Mojave 10.14 Beta (18A365a)
a) No puedes detenerte definitivamente
nsurlstoraged
, se relanza en 2 segundos, incluso si sudob) no puede eliminar "HSTS.plist": si escribe:
obtienes: Operación no permitida
c) incluso si lo intentas:
obtienes: Operación no permitida
lo mismo para
(archivo vacío..)
Entonces definitivamente no puedes acceder a él. (tal vez SIP?)
d) extrañamente puedes eliminarlo desde Finder:
CMD Shift G "~ / Biblioteca / Cookies /"
y puedes borrar con el mouse:
e) más extraño: puede moverse al escritorio con el mouse, editar y volver a colocarlo .
(una verdadera tontería, la GUI es más poderosa que sudo ..)
fuente
También en Safari, Firefox y Chrome, todo lo que tiene que hacer es abrir la barra lateral del desarrollador , seleccionar la pestaña de red y desactivar la cachin g.
En Safari, eso es un tubo tachado, el azul al lado del logo de la papelera. Active eso, y la vieja redirección permanente debe ser ignorada.
El mayor beneficio es que no tiene que meterse con los archivos, no eliminará todas las entradas de HTST y perderá los beneficios de seguridad. También funciona en todos los navegadores.
fuente
Primero asegúrese de que el servidor no esté enviando el encabezado Strict-Transport-Security
. Puede hacerlo
curl -I
(-I
solo obtiene los encabezados)Si el servidor está enviando el encabezado Strict-Transport-Security, eliminarlo de su navegador no tendrá ningún efecto, ya que la próxima vez que acceda al sitio, se configurará nuevamente.
Elimine su sitio de la base de datos Http Secure Transport Security de Safari
~/Library/Cookies/HSTS.plist
Busque la entrada del sitio al que desea acceder a través de http y elimínela, y guarde el archivo.
nsurlstoraged
pero eso puede estar involucrado debido a SIP, por lo que un reinicio de la computadora puede ser más simple. Véase la respuesta de Grant y la respuesta de Quanta sobre el reinicionsurlstoraged
fuente
Hice un guión a partir de la respuesta de Grand Heaslip:
Finaliza con elegancia el safari, detiene nsurlstoraged, elimina la lista HSTS.plist e inicia nsurlstoraged nuevamente. Esto funcionó bien para mí aquí en macOS 10.13.5
fuente
Estoy usando Mojave (10.14). Probé los métodos dados hasta ahora para eliminar HSTS.plist. Además, necesitaba agregar Terminal a la lista de Preferencias del sistema> Seguridad y privacidad> Acceso completo al disco para curar el síntoma "Operación no permitida" al enumerar el contenido de ~ / Library / Cookies /.
Pero, eliminar el archivo y reiniciar el demonio no funcionó. Así que intenté abrir Safari nuevamente, fui a Preferencias, Privacidad, Administrar datos del sitio web. Luego eliminé todas las "cookies de caché, almacenamiento local" para el nombre de dominio ofensivo. Eso resolvió mi problema.
No puedo decir ahora si fue necesario eliminar HSTS o no.
fuente
Intente esto, vaya al Paso 1: vaya a la carpeta ~ / Biblioteca, Paso 2: Elimine la carpeta Safari de ~ / Biblioteca / Soporte de aplicaciones, Paso 3: Elimine las carpetas siguientes de ~ / Biblioteca / Caches, Paso 4: luego Elimine ~ / PD de la carpeta Biblioteca / Safari: Mantenga el safari cerrado durante las operaciones anteriores
fuente