J'ai suivi le tutoriel ci-dessous pour créer un serveur https https://docs.nodejitsu.com/articles/HTTP/servers/how-to-create-a-HTTPS-server/
et le programme fonctionne sans erreur
mais quand je ne peux pas ouvrir https: // localhost: 80 dans mon chrome
il y a toujours un ERR_SSL_PROTOCOL_ERROR
Un moyen rapide de faire ceci est avec ngrok .
C'est vraiment facile à utiliser et ne prend que quelques secondes à courir. C'est aussi simple que de télécharger la version de votre système. Décompressez et exécutez ngrok.exe
. Cela ouvrira un type de fenêtre en ligne de commande. Assurez-vous que votre serveur Apache ou celui que vous utilisez est en cours d'exécution.
Ensuite, pour n’écouter que sur un point de terminaison de tunnel HTTPS, exécutez la procédure suivante:
ngrok http -bind-tls=true site.dev:80
ou sur n'importe quel port dont vous avez besoin d'installer https
.
Ouvrez le navigateur et tapez https://localhost/myApp
, vous verrez que cela fonctionne.
Et si vous tapez http://localhost/myApp
, cela fonctionne également.
J'espère que cela aidera tout le monde à trouver une solution rapide.
J'utilise Caddyserver avec une configuration comme celle-ci:
:443
tls self_signed
Si cela est destiné aux tests et que vous n'avez pas besoin d'un certificat valide (ce qui semble être le cas puisque vous utilisez "localhost"), vous pouvez utiliser un certificat "auto-signé", assurez-vous simplement de configurer nginx à ceux.
Je pourrais expliquer les détails, mais il y a en fait un excellent article à ce sujet sur les tutoriels de la communauté Digital Ocean:
assurez-vous simplement d’adapter le port (443) si vous souhaitez écouter sur 8000.
Supposons que vous utilisez nodejs, alors http-sever a -S or --ssl
avec -C & -K
pour activer https
Vous devez faire deux choses:
J'ai réussi à le faire sur un macOS comme ceci:
openssl req -x509 -out localhost.crt -keyout localhost.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=localhost' -extensions EXT -config <( \
printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
Sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" "/private/tmp/certs/certname.cer"