Use SSL on Laravel Homestead

Viewed 18370

I'm using Laravel Homestead and it is working fine. Now I want to implement HTTPS on one of my sites.

I found that to achieve that you just need to add ssl: true into Homestead.yaml and then run vagrant reload --provision.

I can see it working when I run above command which shows:

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

And in /etc/nginx/ssl, I can see these 3 files are created:

-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

But what next?

When I'm trying to run the site with https:

enter image description here

enter image description here

enter image description here

Do I need to do any other steps?

Note: I'm using latest Homestead version 2.1.0.

I have already seen many posts, but I think they are too old and doesn't provide exact steps to achieve the result:

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 set up

4 Answers

This is only a year old question but it feels like it is a really old one.

Fist - with a version 6.1.0 of 'laravel/homestead" vagrant box you don't need any ssl: true, it is active by default, however your browser would not know if it can trust the ssl certificate anyway.

The browser trust is a different issue to laravel and homestead, please see this answer to solve it.

If you use Laravel 8 Homestead with packages like Cashier/Stripe a good workaround with Firefox is applying certification exception for your server, query for "about:preferences" then search for certificates and add the exception.

Related