web-dev-qa-db-fra.com

Utiliser SSL sur Laravel Homestead

J'utilise Laravel Homestead et cela fonctionne bien. Maintenant, je souhaite implémenter HTTPS sur l'un de mes sites. 

J'ai constaté que pour y parvenir, il vous suffit d'ajouter ssl: true dans Homestead.yaml, puis d'exécuter vagrant reload --provision.

Je peux le voir fonctionner quand je cours au dessus de la commande qui montre:

==> Homestead-7: Running provisioner: Shell...
    Homestead-7: Running: script: Creating Certificate: laravel-cashier.local
==> Homestead-7: Running provisioner: Shell...
    Homestead-7: Running: script: Creating Site: laravel-cashier.local

Et dans /etc/nginx/ssl, je peux voir que ces 3 fichiers sont créés:

-rw-r--r-- 1 root root  683 Jul 19 16:26 laravel-cashier.local.cnf
-rw-r--r-- 1 root root 1269 Jul 19 16:26 laravel-cashier.local.crt
-rw-r--r-- 1 root root 1704 Jul 19 16:26 laravel-cashier.local.key

Mais quoi ensuite?

Lorsque j'essaie de faire fonctionner le site avec https:

 enter image description here

 enter image description here

 enter image description here

Dois-je faire d'autres étapes?

Remarque: j'utilise la dernière version de Homestead 2.1.0.

J'ai déjà vu de nombreux articles, mais je pense qu'ils sont trop vieux et ne fournissent pas les étapes exactes pour atteindre le résultat:

https://laracasts.com/discuss/channels/tips/tip-how-to-enable-ssl-in-Homestead-20

https://laracasts.com/discuss/channels/servers/Homestead-ssl

Laravel Homestead - Configuration SSL

6
Parth Vora

Je suppose que vous utilisez Windows + Vagrant machine avec Homestead .
Dans ce cas, laravel-cashier.local est votre application Web.

Vous devez copier le certificat dans Vagrant, dans Nginx, dans un dossier externe:

$ Sudo cp /etc/nginx/ssl/laravel-cashier.local.crt ~/laravel-cashier/laravel-cashier.local.crt

Dans un environnement Windows, vous pouvez installer ce certificat en double-cliquant et en sélectionnant le stockage spécifique suivant:

Autorités de certification racine de confiance

Redémarrez votre navigateur. Terminé.

Plus d'informations sur l'ajout d'un certificat: https://technet.Microsoft.com/en-us/library/cc754841(v=ws.11).aspx#BKMK_addlocal

NOTE: Ceci est valable pour un navigateur spécifique: Google Chrome

8
fquinto

C’est ce que je soupçonnais et qui était mentionné dans mon commentaire. Votre configuration SSL semble correcte car elle indique que la connexion est sécurisée. Vous utilisez un certificat auto-signé, ce qui convient au développement, mais il n'est pas signé par une autorité de certification reconnue et, par conséquent, le navigateur ne lui fait pas confiance. Cependant, une fois que vous déployez votre projet au grand public, vous souhaiterez acheter un certificat auprès d'une autorité de certification reconnue. Une fois que vous avez ce certificat, cette erreur disparaîtra.

1
Chris Baldwin

Homestead fonctionne correctement, mais les certificats auto-signés ne sont plus valides à partir de Chrome 58. Vous devez installer manuellement le certificat racine dans Chrome pour chaque site. Exemple: link

0
wowar

C'est une question vieille d'un an mais on a l'impression que c'est vraiment une vieille question.

Fist - avec une version 6.1.0 de 'laravel/Homestead "boîte vagabonde, vous n'avez besoin d'aucun ssl: true, il est actif par défaut, cependant votre navigateur ne sait pas s'il peut faire confiance au certificat SSL de toute façon.

La confiance du navigateur est un problème différent de laravel et de Homestead, veuillez consulter this answer pour le résoudre.

0
Yevgeniy Afanasyev