webentwicklung-frage-antwort-db.com.de

Verwenden Sie SSL bei Laravel Heimstätte

Ich benutze Laravel Homestead und es funktioniert gut. Jetzt möchte ich HTTPS auf einer meiner Sites implementieren. 

Um das zu erreichen, müssen Sie lediglich ssl: true in Homestead.yaml hinzufügen und dann vagrant reload --provision ausführen.

Ich kann sehen, dass es funktioniert, wenn ich über dem Befehl ausführen, der Folgendes zeigt:

==> 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

In /etc/nginx/ssl kann ich sehen, dass diese 3 Dateien erstellt werden:

-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

Aber wie geht es weiter?

Wenn ich versuche, die Site mit https auszuführen:

 enter image description here

 enter image description here

 enter image description here

Muss ich weitere Schritte machen?

Hinweis: Ich verwende die neueste Version 2.1.0 von Homestead.

Ich habe schon viele Posts gesehen, aber ich denke, dass sie zu alt sind und keine genauen Schritte zum Erreichen des Ergebnisses angeben:

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

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

Laravel Homestead - SSL eingerichtet

6
Parth Vora

Ich gehe davon aus, dass Sie Windows + Vagrant machine mit Homestead verwenden.
In diesem Fall ist laravel-cashier.local Ihre Webanwendung.

Sie müssen das Zertifikat in Vagrant in Nginx in einen externen Ordner kopieren:

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

In der Windows-Umgebung können Sie dieses Zertifikat mit einem Doppelklick installieren und den nächsten spezifischen Speicher auswählen:

Vertrauenswürdige Stammzertifizierungsstellen

Starten Sie Ihren Browser neu. Erledigt.

Weitere Informationen zum Hinzufügen eines Zertifikats: https://technet.Microsoft.com/en-us/library/cc754841(v=ws.11).aspx#BKMK_addlocal

HINWEIS: Dies gilt für bestimmte Browser: Google Chrome

8
fquinto

Es ist, wie ich zuerst in meinem Kommentar vermutet und erwähnt habe. Ihre SSL-Konfiguration scheint korrekt zu sein, da sie meldet, dass die Verbindung sicher ist. Sie verwenden ein selbstsigniertes Zertifikat, das für die Entwicklung in Ordnung ist, jedoch nicht von einer anerkannten Zertifizierungsstelle signiert ist. Daher vertraut der Browser dem nicht. Sobald Sie Ihr Projekt jedoch für die breite Öffentlichkeit bereitgestellt haben, möchten Sie ein Zertifikat von einer anerkannten Zertifizierungsstelle erwerben. Sobald Sie dieses Zertifikat haben, wird dieser Fehler behoben.

1
Chris Baldwin

Homestead funktioniert ordnungsgemäß, jedoch sind selbstsignierte Zertifikate ab Chrome 58 nicht mehr gültig. Sie sollten das Stammzertifikat für jeden Standort manuell in Chrome installieren. Beispiel: link

0
wowar

Dies ist nur eine einjährige Frage, aber es fühlt sich an, als wäre sie wirklich alt.

Fist - Mit der Version 6.1.0 der Vagabundenbox "laravel/Homestead" benötigen Sie keinen ssl: true, er ist standardmäßig aktiviert, Ihr Browser weiß jedoch nicht, ob er dem SSL-Zertifikat trotzdem vertrauen kann.

Das Browservertrauen ist ein anderes Problem als Laravel und Homestead, siehe this answer, um es zu lösen.

0