J'ai un appareil avec un panneau de configuration basé sur le Web et je l'ai accidentellement configuré pour rediriger toutes les http
pages vers https
, même si certaines ne fonctionnent pas https
. Bien que j'aie depuis corrigé cela, Safari semble avoir mémorisé la redirection et refuse de l'oublier, essayant plutôt de me rediriger constamment vers l' https
adresse invalide .
J'ai déjà fermé Safari, effacé ~/Library/Caches/com.apple.Safari/
et ~/Library/Cookies/HSTS.plist
mais il semble toujours se souvenir de la redirection lorsque je le rouvre.
Où Safari pourrait-il stocker ces informations ailleurs? Je peux accéder à la bonne page via Firefox ou Chrome, donc ce n'est peut-être pas un service à l'échelle du système, ou si ce n'est pas celui que les autres navigateurs utilisent.
Malheureusement, parce que le panneau Web est fourni par un appareil, je ne pense pas pouvoir ajuster les en-têtes ou configurer une redirection vers l'URL correcte, qui semblent être des options proposées dans d'autres questions similaires, j'ai donc vraiment besoin de savoir où cela les données sont stockées afin que je puisse les détruire avec le feu.
~/Library/Safari
dossier et de voir si cela résout le problème? Si c'est le cas, vous pouvez expérimenter avec des éléments dans le dossier jusqu'à ce que vous trouviez le fichier coupable.Réponses:
Basé sur la réponse de quanta :
Je n'ai pas pu l'utiliser
launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
car j'ai activé la protection de l'intégrité du système :Cependant, j'ai pu contourner ce problème en procédant comme suit:
killall nsurlstoraged
(arrête le processus nsurlstoraged de votre utilisateur; j'ai en fait exécutésudo killall nsurlstoraged
, mais je soupçonne qu'il n'est pas nécessaire d'arrêter également nsurlstoraged du système, car le cache se trouve dans le dossier Bibliothèque de l'utilisateur)rm -f ~/Library/Cookies/HSTS.plist
(supprime le cache HSTS)launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
(redémarre nsurlstoraged)la source
HSTS.plist
fichier ne résoudra pas le problème car il continuera d'être reconstruit. Cependant, après avoir tuénsurlstoraged
et puis supprimer le fichier qui HSTS a fait l'affaire!~/Library/Cookies/HSTS.plist
et supprimez l'entrée pour le site que je veux sur http 3. Redémarrez l'ordinateurrm -f ~/Library/Cookies/HSTS.plist
reviendraOperation not permitted
sauf si vous avez accordé un accès complet au disque à Terminal.app dans les Préférences Système => Sécurité et confidentialité => Confidentialité. Sinon, la solution a parfaitement fonctionné! Merci!rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist
m'a même pas aidé, mais l'akillall nsurlstoraged
fait.Si vous activez le menu Développer dans les préférences de Safari, vous pouvez vider le cache à partir de là (CMD + ALT + E).
Pouvez-vous confirmer que l'ouverture du panneau de configuration de l'appareil dans la fenêtre privée de Safari (ou un navigateur Web différent) fonctionne correctement?
la source
~/Library/Caches/com.apple.Safari
sorte que la redirection doit être stockée ailleurs. HSTS était la fonctionnalité que j'avais accidentellement activée mais que j'ai déjà supprimée~/Library/Cookies/HSTS.plist
.Basé sur la réponse de @ Haravikk: /apple//a/267783/62907
fs_usage peut aider:
Afin que nous puissions:
ensuite:
et essayez à nouveau.
la source
Vous obtiendrez de bons résultats si vous utilisez la ligne de commande vers
curl
l'appareil pour vous assurer qu'il ne fait pas la redirection. Safari n'a pas vraiment de moteur pour réécrire les adresses - surtout si vous passez en navigation privée pour supprimer tout historique, cookies, etc ...Si vous n'êtes pas sûr d'avoir suffisamment nettoyé votre safari, vous pouvez également tester en ouvrant les préférences système et en créant un compte utilisateur propre / nouveau sur le Mac et tester le site sur une version totalement propre de Safari après vous être déconnecté de votre utilisateur normal .
la source
J'ai donc trouvé une solution de contournement au problème, bien que ce ne soit pas une réponse définitive à la question réelle, donc je ne le marquerai pas comme tel jusqu'à ce que je puisse trouver plus d'informations.
Il s'avère que le fichier
~/Library/Cookies/HSTS.plist
était en effet la source du problème comme je le soupçonnais, mais le supprimer du compte utilisateur affecté ne fonctionne pas, même avec Safari fermé, car il est recréé après un laps de temps inconnu, avec l'infraction entrée qui forçait la redirection non valide.Ma solution était donc la suivante:
su shortname
remplaçant "nom abrégé" par le nom abrégé du compte d'utilisateur affecté. Appuyez sur Entrée et, lorsque vous y êtes invité, entrez le mot de passe du compte concerné.rm ~/Library/Cookies/HSTS.plist
et appuyez sur Entrée, cela supprimera le fichier de stockage HSTS.exit
, appuyez sur Entrée et fermez Terminal.À ce stade, vous pouvez maintenant vous reconnecter au compte utilisateur concerné et la redirection HSTS incriminée devrait être définitivement supprimée.
Maintenant, bien que cela fournisse une solution de contournement utilisable, j'aimerais vraiment savoir pourquoi la suppression du fichier HSTS.plist de mon compte affecté n'a pas fonctionné; le fait qu'il soit recréé signifie qu'un processus d'arrière-plan en est responsable, ce qui signifie qu'il devrait être possible de supprimer le fichier du compte d'utilisateur affecté en arrêtant simplement ce processus, en supprimant le fichier, puis en relançant le processus.
Quelqu'un a-t-il des idées sur le processus responsable du
~/Library/Cookies/HSTS.plist
fichier? Une fois que nous savons qu'il devrait être possible de donner une solution plus simple au problème.la source
Voici une idée!
Vous dites que vous ne pouvez pas annuler la redirection en configurant le serveur pour rediriger les requêtes https vers http (car vous n'avez pas d'accès administrateur pour le faire).
Mais que faire si vous trompez Safari pour vous connecter à un autre serveur qui offre cette redirection inverse?
Vous pouvez configurer cela dans le
/etc/hosts
fichier de votre machine locale .Par exemple, supposons que la redirection en cache actuelle soit de
http://example.com
àhttps://example.com
.Maintenant, configurez ou identifiez une URL que vous pouvez demander sur n'importe quel serveur dans le monde qui redirige de https vers http. Disons que le serveur a l'adresse de
https://redirecting.example.com
.Recherchez ensuite l'adresse IP de
redirecting.example.com
. Dans Terminal, vous pouvez faire ceci:Vous obtenez un résultat quelque chose comme ceci:
Ouvrez maintenant votre fichier / etc / hosts et ajoutez une nouvelle ligne qui pointe les requêtes pour example.com à l'adresse IP de redirecting.example.com, comme ceci:
Enregistrez vos modifications et videz votre cache DNS dans le terminal comme ceci:
Ensuite, dans Safari, faites une demande de
https://example.com
réponse qui doit être une redirection vershttp://example.com
laquelle, (doigts croisés) votre redirection Safari d'il y a 6 mois sera écrasée.Une fois terminé, supprimez la ligne que vous avez ajoutée à votre fichier / etc / hosts et videz à nouveau votre cache DNS.
la source
~/Library/Cookies/HSTS.plist
c'était le coupable, mais le supprimer du compte affecté ne fonctionne pas (car il est recréé quelque temps plus tard, complet avec mauvaise redirection). Je ne sais pas quel processus le fait cependant.Après avoir essayé toutes ces solutions, ce qui a fonctionné pour moi a été:
~/Library/Cookies/HSTS.plist
la source
Mes deux cents pour le nouveau macOS Mojave 10.14 Beta (18A365a)
a) Vous ne pouvez pas vous arrêter définitivement
nsurlstoraged
, il se relance en 2 secondes, même si sudob) vous ne pouvez pas supprimer "HSTS.plist": si vous tapez:
vous obtenez: opération non autorisée
c) même si vous essayez:
vous obtenez: opération non autorisée
pareil pour
(fichier vide..)
Vous ne pouvez donc pas y accéder définitivement . (peut-être SIP?)
d) étrangement, vous pouvez supprimer si du Finder:
CMD Shift G "~ / Bibliothèque / Cookies /"
et vous pouvez supprimer avec la souris:
e) plus étrange: vous pouvez passer au bureau à l'aide de la souris, le modifier et le replacer !
(un vrai non-sens, l'interface graphique est plus puissante que sudo ..)
la source
Dans Safari, Firefox et Chrome également, il vous suffit d'ouvrir la barre latérale développeur , de sélectionner l'onglet réseau et de désactiver la mise en cache .
Dans Safari, c'est un tube barré, le bleu à côté du logo de la poubelle. Activez-le et l'ancienne redirection permanente doit être ignorée.
Le plus grand avantage est que vous n'avez pas à jouer avec les fichiers, vous ne supprimerez pas toutes les entrées HTST et perdrez les avantages de sécurité. Cela fonctionne également sur tous les navigateurs.
la source
Assurez-vous d'abord que le serveur n'envoie pas l'en -tête Strict-Transport-Security.
Vous pouvez le faire avec
curl -I
(-I
obtient simplement les en-têtes)Si le serveur envoie l'en-tête Strict-Transport-Security, le supprimer de votre navigateur n'aura aucun effet, car la prochaine fois que vous accéderez au site, il sera à nouveau défini.
Supprimer votre site de la base de données Http Secure Transport Security de Safari
~/Library/Cookies/HSTS.plist
Recherchez l'entrée du site auquel vous souhaitez accéder via http, supprimez-le et enregistrez le fichier.
nsurlstoraged
mais cela peut être impliqué en raison de SIP, donc un redémarrage de l'ordinateur peut être plus simple. Voir la réponse de Grant et la réponse de Quanta au sujet de remise en marchensurlstoraged
la source
J'ai fait un script à partir de la réponse de Grand Heaslip:
Il termine normalement le safari, arrête nsurlstoraged, supprime le fichier HSTS.plist et redémarre nsurlstoraged. Cela a bien fonctionné pour moi ici sur macOS 10.13.5
la source
J'utilise Mojave (10.14). J'ai essayé les méthodes données jusqu'à présent pour supprimer HSTS.plist. De plus, j'avais besoin d'ajouter Terminal à la liste Préférences Système> Sécurité et confidentialité> Accès complet au disque pour remédier au symptôme "Opération non autorisée" lors de la liste du contenu de ~ / Library / Cookies /.
Mais, la suppression du fichier et le redémarrage du démon n'ont pas fonctionné. J'ai donc essayé d'ouvrir Safari à nouveau, je suis allé dans Préférences, Confidentialité, Gérer les données du site Web. Ensuite, j'ai supprimé tous les «cookies de cache, stockage local» pour le nom de domaine incriminé. Cela a résolu mon problème.
Je ne peux pas dire maintenant si la suppression de HSTS était nécessaire ou non.
la source
Essayez ceci, puis passez à l'étape 1: allez dans le dossier ~ / Library, étape 2: supprimez le dossier Safari de ~ / Library / Application Support, étape 3: supprimez les dossiers ci-dessous de ~ / Library / Caches, étape 4: puis supprimez ~ / Bibliothèque / dossier Safari PS: Gardez safari fermé pendant les opérations ci-dessus
la source