1 votes

Les sites web locaux https (sécurisés par ssl) ne fonctionnent pas dans Safari et Chrome sous Mac Yosemite. Comment puis-je résoudre ce problème ?

En tant que développeur, j'exécuterai et testerai les applications web que je développe localement. Mais Chrome et Safari ne me permettent pas d'accéder à mon serveur local lorsque le protocole SSL est activé.

https://localhost:8443/ ne fonctionne pas et indique une erreur SSL avec le message d'erreur suivant. Je pense que c'est lié à l'ajout de mon certificat au trousseau d'accès d'OS X, mais je n'arrive pas à comprendre ce qu'il faut faire !

Quelqu'un pourrait-il m'aider ?

Erreur de connexion SSL Masquer les détails Impossible d'établir une connexion sécurisée au serveur. Il peut s'agir d'un problème avec le serveur, ou d'un problème de un certificat d'authentification du client que vous ne possédez pas. Code d'erreur : ERR_SSL_PROTOCOL_ERROR

Mise à jour

J'ai généré le keystore SSL auto-signé et le certificat à l'aide de la commande suivante

keytool -genkey -alias tomcat -keyalg RSA -sigalg SHA256withRSA -keystore /path/to/keystore -keysize 2048 -validity 365

Mon problème a été résolu lorsque j'ai généré mon certificat auto-signé à l'aide de la commande suivante.

keytool -genkey -alias tomcat -keyalg RSA -keystore /path/to/keystore

Je ne sais pas pourquoi !?

1voto

D.W. Points 3678

Il est probable que le problème se situe au niveau des certificats de votre serveur. Vous n'avez probablement pas de certificat SSL pour le serveur localhost:8443 (car il est peu probable qu'une autorité de certification en délivre un pour ce nom d'hôte), vous obtiendrez bien sûr des erreurs de certificat. Soit vous cliquez sur les erreurs de certificat, soit vous choisissez un domaine valide que vous contrôlez, vous obtenez un certificat pour ce domaine et vous hébergez votre site sur ce domaine.

Si vous disposez d'un certificat pour votre domaine ( example.com ) et que vous disposez d'un certificat SSL pour ce domaine (par exemple, pour www.example.com ), vous pouvez également essayer de configurer le DNS (ou votre système d'information sur la santé). /etc/hosts ) de manière à ce que www.example.com résout localhost (127.0.0.1). Cela peut encore poser d'autres problèmes, et il est vraiment préférable de le tester sur le domaine pour lequel vous avez un certificat ou de cliquer sur les erreurs de certificat.

Rien de tout cela n'est susceptible d'être spécifique à Mac OS X.

1voto

Martin Allert Points 898

Je ferais deux choses :

  1. Si le service écoute sur *:8443, alors je n'appellerais pas https://localhost:8443 mais plus https://MyMachineName:8443 car cela me permet de

  2. Utilisez le certificat de l'entreprise et ajoutez un alias DNS dans votre fichier /etc/hosts, comme par exemple

    192.168.24.3 www.mycompany.com

Mais il DOIT être le même nom que dans le certificat, le CN !

Attention : Chaque fois que vous entrez maintenant "www.mycompany.com:8443" ou "www.mycompany.com" Safari/Chrome vous redirigera vers votre instance locale :) Ne soyez pas irrité et n'appelez pas votre service d'assistance lorsque le site de votre entreprise n'est pas accessible parce que votre serveur web local est arrêté :)

Bon développement ! :)

0voto

fishingaddict Points 314

Si votre serveur web local utilise encore le protocole SSLv3, les versions actuelles de Chrome ne pourront plus s'y connecter. Chrome (et je crois Safari) a supprimé la prise en charge du SSL3 afin d'atténuer la vulnérabilité POODLE.

Si vous pensez que votre serveur utilise encore SSL3, faites une recherche rapide sur Google de "POODLE SSLv3" pour obtenir plus d'informations.

0voto

Ramanan Points 1

Pour les tests locaux, vous pouvez utiliser un certificat auto-signé. Générez votre propre certificat en utilisant openssl ou vous pouvez utiliser ce site selfsignedcertificate.com

Vous pouvez ajouter le certificat généré comme certificat de confiance dans les paramètres de votre navigateur.

0voto

GlenPeterson Points 101

Utilisez l'adresse IP de votre réseau local. Vous pouvez la trouver en lançant ifconfig à partir d'un terminal bash. Cela produit des résultats comme :

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.16.0.123  netmask 255.255.255.0
...
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
...

Dans l'exemple ci-dessus, votre adresse IP est 192.16.0.123.

Désormais, dans la barre d'adresse de Safari, au lieu de :

https://localhost:8443

Utilisation

https://198.162.0.123:8443

Cela a fonctionné pour moi sur Browserstack. Merci à Aravind Paul de BrowserStack Support pour cette réponse !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X