Safari Rediriger http vers (inexistant) https


34

Safari force une redirection vers la version https d'un site que j'ai précédemment visité via https.

Cependant, le site https ne fonctionne plus et il n'y a aucun moyen d'empêcher Safari Form de le charger.

HTTP redirige vers HTTPS

Voici une question connexe sur les forums Apple, Safari continue de rediriger http vers https


Est-il possible que HSTS ait été activé quelque part dans le passé?
Max Ried

@MaxRied Cela ressemble à une bonne suggestion, je n'ai aucun moyen de le savoir. Pour référence: en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
rjstelling

Réponses:


19

Si le site a précédemment indiqué à Safari qu'il souhaite toujours être accessible via HTTPS via HSTS ( HTTP Strict Transport Security ), Safari tentera toujours de rediriger vers HTTPS.

Vous pouvez effacer le cache HSTS en supprimant ~/Library/Cookies/HSTS.plist.

Notez que Safari met également en cache les redirections 301 pendant un certain temps et que l'effacement du cache Safari normal peut également être nécessaire: dans le menu Développement (activer dans Préférences → Avancé), choisissez Vider les caches.


Je devrais commencer à écrire des réponses ...
Max Ried

10
@grgarside J'ai essayé cela plusieurs fois, cela ne fonctionne plus
kushdilip

"Vider le cache Safari normal" - comment, exactement ??
Wildcard

@Wildcard J'ai édité ma réponse avec cette information
grg

8

Depuis décembre 2017, Google a ajouté le TLD ".dev" à la liste HSTS préchargée pour Chrome!

Safari utilise la même liste. Safari ajoutera donc toujours * .dev à la liste HSTS ...

Il semble que de nombreux développeurs devront remplacer le suffixe .dev par un autre :(

Voir: Chrome pour forcer les domaines .dev à HTTPS via HSTS préchargé


1
Cela provoque ma rage. Aucun TLD ne doit être entièrement propriétaire. Il y a des choses merveilleuses appelées VPN ou intranets qui seraient appropriées. (PS ma rage est dirigée vers Google, pas la réponse) :).
Volte

8

La stratégie HSTS est désormais incluse dans les données du site Web stockées de Safari, et vous pouvez supprimer les données de l'hôte local pour résoudre ce problème.

  1. command + ,
  2. Confidentialité -> Gérer les données du site Web ...
  3. Recherche localhost
  4. Cliquez sur Supprimer

Accédez https://localhostà http://localhostdans votre barre d'adresse et cliquez sur la touche Retour.


1
Cela s'applique non seulement à localhost, mais à tous les domaines. Notez que pour accéder au sous - domaine , vous devez supprimer les données du domaine parent . C'est-à-dire si vous voulez accéder http://some.subdomain.somehost.comet être redirigé vers https, vous devez rechercher somehost.comsur la Manage Website Datapage et la supprimer.
voiger

5

Je n'ai trouvé aucune solution de travail mais pour une solution de contournement, utilisez 127.0.0.1 au lieu de localhost

http://localhost/

http://127.0.0.1/

1

Il semble que Safari adopte ce comportement fou lorsque vous avez accédé à localhost à l'aide d'un certificat côté client. Dans mon cas, l'un des projets avec lesquels je travaille a besoin de cette configuration côté client et cela détruit totalement le développement des projets où je ne peux pas utiliser http sur localhost. La seule solution de contournement que j'ai trouvée consiste à modifier /etc/hostset à ajouter un alias pour localhost, comme ceci

127.0.0.1 localhost

Ensuite, utilisez Je peux utiliser http: // localhost: 3000 pour accéder à mon projet sur le port 3000 sans que Safari ne force une connexion https.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.