Comment utilisez-vous https / SSL sur localhost?

88

J'aimerais savoir comment configurer SSL sur mon application Web sur l'hôte local.

Je n'ai aucune expérience dans ce domaine, serait une orientation appréciée. J'ai déjà terminé la mise en œuvre de mon application Web et j'en ai besoin pour utiliser https sur l'hôte local ou pendant que je l'héberge sur un serveur.

Des idées?

Cordialement.

HShbib
la source
Vérifiez un article similaire: stackoverflow.com/questions/36037510/…
Pusker György

Réponses:

23

Si vous avez IIS Express (avec Visual Studio):

Pour activer SSL dans IIS Express, vous devez simplement définir «SSL Enabled = true» dans la fenêtre des propriétés du projet.

Voir les étapes et les images de ce projet de code .

IIS Express générera un certificat pour vous (vous serez invité à le saisir, etc.). Notez que selon la configuration, le site peut toujours démarrer automatiquement avec l'URL plutôt qu'avec l'URL SSL. Vous pouvez voir l'URL SSL - notez le numéro de port et remplacez-le dans la barre d'adresse de votre navigateur, vous devriez pouvoir entrer et tester.

De là, vous pouvez faire un clic droit sur votre projet, cliquez sur les pages de propriétés, puis démarrez les options et attribuez l'URL de démarrage - mettez le nouveau https avec le nouveau port (généralement 44301 - notez la similitude avec le port 443) et votre projet démarrera correctement à partir de là sur.

entrez la description de l'image ici

JackArbiter
la source
Puis-je choisir le port? c'est-à-dire utiliser le port https par défaut; port 443?
The Red Pea
1
@TheRedPea Dans tous les cas que j'ai rencontrés, vous devez utiliser le port 44301 pour tester localement au lieu d'utiliser le port 443. Cela n'affectera pas les ports que vous utilisez pour votre serveur en direct (que vous liez dans IIS), qui seront presque toujours 443 en supposant que vous utilisez https.
JackArbiter
21

Il est facile de créer un certificat auto-signé, de l'importer et de le lier à votre site Web.

1.) Créez un certificat auto-signé:

Exécutez les 4 commandes suivantes, une à la fois, à partir d'une invite de commandes élevée:

cd C:\Program Files (x86)\Windows Kits\8.1\bin\x64

makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.3 -sv localhost.pvk localhost.cer

cert2spc localhost.cer localhost.spc

pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx

2.) Importez le certificat dans le magasin des autorités de certification racines de confiance:

démarrer -> exécuter -> mmc.exe -> Plug-in Certificats -> "Autorités de certification racines de confiance" -> Certificats

Cliquez avec le bouton droit sur Certificats -> Toutes les tâches -> Importer Trouvez votre certificat "localhost" dans C: \ Program Files (x86) \ Windows Kits \ 8.1 \ bin \ x64 \

3.) Liez le certificat au site Web:

démarrer -> (IIS) Manager -> Cliquez sur votre serveur -> Cliquez sur Sites -> Cliquez sur votre site de niveau supérieur -> Liaisons

Ajoutez ou modifiez une liaison pour https et sélectionnez le certificat SSL appelé "localhost".

4.) Importer le certificat vers Chrome:

Paramètres Chrome -> Gérer les certificats -> Importer le certificat .pfx à partir du dossier C: \ Certificats \

Testez le certificat en ouvrant Chrome et en accédant à https: // localhost /

Jason Williams
la source
Comment obtenez-vous les fichiers que vous venez d'utiliser dans la commande makecert? localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc. Comment puis-je obtenir le fichier private.key pour créer un fichier allinone.pem à utiliser dans d'autres serveurs Web que IIS?
Si vous ne souhaitez pas importer le certificat dans Chrome, vous pouvez choisir de désactiver la fonction de sécurité Chrome qui bloque l'accès aux certificats auto-signés sur localhost stackoverflow.com/a/31900210/2733283
Jason Williams
8

Cette question est vraiment ancienne, mais je suis tombée sur cette page lorsque je cherchais le moyen le plus simple et le plus rapide de le faire. L'utilisation de Webpack est beaucoup plus simple:

installer le serveur webpack-dev

npm i -g webpack-dev-server

démarrer webpack-dev-server avec https

webpack-dev-server --https
Brianyang
la source
2
Cela servira les fichiers js qui composent l'application, mais n'exécutera pas l'application.
user1944491
Cela peut-il être utilisé avec un serveur de développement existant comme XAMPP?
Prometheus