Tengo un dispositivo con un panel de control basado en la web y accidentalmente lo configuré para redirigir todas las http
páginas a https
, aunque algunas no funcionan con https
. Aunque desde entonces he corregido esto, parece que Safari ha memorizado la redirección y se niega a olvidarla, sino que intenta redirigirme constantemente a la dirección no válida https
.
Ya cerré Safari, borré ~/Library/Caches/com.apple.Safari/
y ~/Library/Cookies/HSTS.plist
todavía parece recordar la redirección cuando lo vuelvo a abrir.
¿Dónde más podría Safari almacenar esta información? Puedo acceder a la página correcta a través de Firefox o Chrome, por lo que es posible que no sea un servicio de todo el sistema, o si lo es, no es uno que usan los otros navegadores.
Desafortunadamente, debido a que el panel web lo proporciona un dispositivo, no creo que pueda ajustar los encabezados o configurar un redireccionamiento a la URL correcta, que parecen ser opciones que se ofrecen en otras preguntas similares, por lo que realmente necesito averiguar dónde está este Los datos se almacenan para que pueda destruirlos con fuego.
Basado en la respuesta de quanta :
No pude usar launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
porque tengo habilitada la Protección de integridad del sistema :
$ launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
/System/Library/LaunchAgents/com.apple.nsurlstoraged.plist: Operation not permitted while System Integrity Protection is engaged
Sin embargo, pude solucionarlo haciendo lo siguiente:
killall nsurlstoraged
(detiene el proceso nsurlstoraged de su usuario; en realidad lo ejecuté sudo killall nsurlstoraged
, pero sospecho que no es necesario detener también el nsurlstoraged del sistema, ya que el caché está en la carpeta Biblioteca del usuario)rm -f ~/Library/Cookies/HSTS.plist
(borra la caché HSTS)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(reinicia nsurlstoraged)HSTS.plist
archivo no solucionará el problema porque seguirá reconstruyéndose. Sin embargo, después de matar nsurlstoraged
y luego eliminar el archivo HSTS, ¡eso funcionó!~/Library/Cookies/HSTS.plist
y elimine la entrada del sitio que quiero en http 3. Reinicie la computadorarm -f ~/Library/Cookies/HSTS.plist
volverá Operation not permitted
a 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ó perfectamente! ¡Gracias!rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist
me ayudó, pero killall nsurlstoraged
lo hizo.Si habilita el menú Desarrollar en las preferencias de Safari, puede borrar el caché desde allí (CMD+ALT+E).
¿Puedes confirmar que abrir el panel de control del dispositivo en la ventana privada de Safari (o en otro navegador web) funciona correctamente?
~/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 ya eliminé ~/Library/Cookies/HSTS.plist
.Basado en la respuesta de @Haravikk: https://apple.stackexchange.com/a/267783/62907
¿Alguien tiene alguna idea de qué proceso es responsable del archivo ~/Library/Cookies/HSTS.plist?
fs_usage puede ayudar:
❯❯❯❯ sudo fs_usage | grep HSTS
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000238 nsurlstorage
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000009 nsurlstorage
16:11:03 open /Users/quanta/Library/Cookies/HSTS.plist 0.016268 nsurlstorage
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000008 nsurlstorage
16:11:03 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000003 nsurlstorage
16:11:03 access /Users/quanta/Library/Cookies/HSTS.plist 0.000011 dbfseventsd
16:11:04 lstat64 /Users/quanta/Library/Cookies/HSTS.plist 0.000008 fseventsd
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000006 nsurlstorage
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000002 nsurlstorage
16:11:08 open /Users/quanta/Library/Cookies/HSTS.plist 0.000144 nsurlstorage
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000002 nsurlstorage
16:11:08 HFS_update /Users/quanta/Library/Cookies/HSTS.plist 0.000003 nsurlstorage
16:11:08 access /Users/quanta/Library/Cookies/HSTS.plist 0.000021 dbfseventsd
16:11:09 lstat64 /Users/quanta/Library/Cookies/HSTS.plist 0.000042 fseventsd
Para que podamos:
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
después:
rm -f ~/Library/Cookies/HSTS.plist
e intenta de nuevo.
En Safari, Firefox y Chrome también, todo lo que tiene que hacer es abrir la barra lateral del desarrollador , seleccionar la pestaña de red y deshabilitar el almacenamiento en caché .
En Safari eso es un tubo tachado, el azul al lado del logo de la papelera. Activa eso, y la antigua redirección permanente debería ser ignorada.
El mayor beneficio es que no tiene que meterse con los archivos, no eliminará todas las entradas HTST y perderá los beneficios de seguridad. También funciona en todos los navegadores.
Así que encontré una solución al problema, aunque esta no es una respuesta definitiva a la pregunta real, así que no la marcaré como tal hasta que pueda encontrar más información.
Resultó que el archivo ~/Library/Cookies/HSTS.plist
era de hecho la fuente del problema como sospechaba, 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, con el infractor entrada que estaba forzando la redirección no válida.
Así que 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 infractora debería desaparecer para siempre.
Ahora, si bien esto proporciona una solución utilizable, realmente me gustaría saber por qué no funcionó la eliminación del 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 eso, debería ser posible dar una solución más simple al problema.
Obtendrá buenos resultados si utiliza la línea de comando en curl
el dispositivo para asegurarse de que no esté realizando la redirección. Safari realmente no tiene un motor para reescribir direcciones, especialmente si accede a la navegación privada para eliminar cualquier historial, cookies, etc.
Si no está seguro de haber limpiado su safari lo suficiente, también puede probar abriendo las preferencias del sistema y creando una cuenta de usuario limpia/nueva en la Mac y probar el sitio en una versión totalmente limpia de Safari después de cerrar la sesión de su usuario normal .
Después de probar todas estas soluciones, lo que funcionó para mí fue:
~/Library/Cookies/HSTS.plist
¡Aquí tienes una idea!
Dice que no puede deshacer la redirección configurando el servidor para redirigir las solicitudes https a http (ya que no tiene acceso de administrador para hacerlo).
Pero, ¿qué pasa 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 en caché actual es de http://example.com
a https://example.com
.
Ahora configure o identifique una URL que pueda solicitar en cualquier servidor del mundo que redirija de 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 esto:
host redirecting.example.com
Obtienes un resultado algo como esto:
redirecting.example.com has address 69.69.69.69
Ahora abra su archivo /etc/hosts y agregue una nueva línea que dirija las solicitudes de example.com a la dirección IP de redirecting.example.com, así:
### point host example.com at the ip address of redirecting.example.com
69.69.69.69 example.com
Guarde sus cambios y borre su caché de DNS en la terminal así:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed
Luego, en Safari, haga una solicitud para que https://example.com
la respuesta sea una redirección de regreso a http://example.com
, en cuyo punto (crucemos los dedos) se sobrescribirá su redirección de Safari de hace 6 meses.
Cuando haya terminado, elimine la línea que agregó a su archivo /etc/hosts y vuelva a vaciar su caché de DNS.
~/Library/Cookies/HSTS.plist
fue el culpable, pero eliminarlo de la cuenta afectada no funciona (ya que se recrea algún tiempo después, completo con mala redirección). Sin embargo, no estoy seguro de qué proceso lo está haciendo.Mis dos centavos para el nuevo macOS Mojave 10.14 Beta (18A365a)
a) No puedes parar definitivamente nsurlstoraged
, se relanza en 2 segundos, aunque sudo
b) no puede eliminar "HSTS.plist": si escribe:
sudo rm -f ~/Library/Cookies/HSTS.plist
obtienes: Operación no permitida
c) incluso si intentas:
ls -la ~/Library/Cookies/
obtienes: Operación no permitida
lo mismo para
nano ~/Library/Cookies/HSTS.plist
(archivo vacío..)
Así que definitivamente no puedes acceder a él. (¿quizás SIP?)
d) extrañamente puedes eliminar si del Finder:
CMD Shift G"~/Biblioteca/Cookies/"
y puedes eliminar con el mouse:
e) más extraño: puede moverse al escritorio con el mouse, editarlo y volver a colocarlo .
(una verdadera tontería, la GUI es más poderosa que sudo ..)
Primero asegúrese de que el servidor no esté enviando el encabezado Strict-Transport-Security
Puede hacer esto con curl -I
( -I
solo obtiene los encabezados)
curl -I http://my-http-domain.com
Si el servidor envía 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.
~/Library/Cookies/HSTS.plist
nsurlstoraged
pero eso puede estar involucrado debido a SIP , por lo que reiniciar la computadora puede ser más simple. Vea la respuesta de Grant y la respuesta de Quanta sobre reiniciarnsurlstoraged
Hice un guión a partir de la respuesta de Grand Heaslip:
#!/bin/sh
osascript -e 'quit app "Safari"'
sleep 2
killall nsurlstoraged
sleep 2
rm -f ~/Library/Cookies/HSTS.plist
launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
Finaliza elegantemente el safari, detiene nsurlstoraged, elimina HSTS.plist y vuelve a iniciar nsurlstoraged. Esto funcionó bien para mí aquí en macOS 10.13.5
Estoy usando Mojave (10.14). Probé los métodos proporcionados hasta ahora para eliminar HSTS.plist. Además, necesitaba agregar Terminal a Preferencias del sistema > Seguridad y privacidad > Lista de acceso total 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 infractor. Eso resolvió mi problema.
No puedo decir ahora si fue necesario eliminar HSTS o no.
Intente esto entonces, 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 a continuación de ~/Biblioteca/Cachés, Paso 4: luego elimine ~/ Carpeta Biblioteca/Safari PD: Mantenga Safari cerrado durante las operaciones anteriores
Pablo D. Waite
interesante
~/Library/Safari
carpeta y ver si eso soluciona el problema? Si es así, puede experimentar con elementos dentro de la carpeta hasta que encuentre el archivo culpable.Owlswipe
Todo en uno
Haravikk
Haravikk
~/Library/Cookies/HSTS.plist
archivo que se supone que debe manejarlo, pero aún sucede en Safari.