laravel

How to setup HTTPS with Laravel Homestead

You probably noticed that you can’t use your website-example.dev with your Chrome, as it is reporting that your website is not secure.

I am using Homestead 5 and by default homestead uses nginx to server your files. If you have a website-example.dev defined in your Homestead.yaml, then if you go in /etc/nginx/ssl/you will find two files for your domain:

website-example.dev.key website-example.dev.crt website-example.dev.key

All you have to do is (if you are on Mac OS) is get this website website-example.dev.crtinside your Keychain Access, and set to trust this certificate.

In order to use this file, you can vagrant ssh and copy this file to your shared folder:

sudo cp /etc/nginx/ssl/website-example.dev.crt /home/vagrant/Code/ssl

Now you can access this file from your Mac OS (wherever you setup your source folder).

Then below the All Items, click on Certificates, and find your website-example.dev.crt

Then double click on it and select to Trust -> Always trust.

And that’s it. Now your setup is closer to what you should have on your production and can operate on HTTPS.

Also you may want to have a permanent redirection from http to https

server {
listen 80 default_server;
listen [::]:80 default_server;
server_name website-example.app;
return 301 https://website-example.app;
}

This should be placed at the top of

sudo vim /etc/nginx/sites-available/website-example.app

About the author

Avatar

laravelrecipies