Skip to content

Laravel Sail plugin to enable SSL (HTTPS) connection with Nginx.

License

Notifications You must be signed in to change notification settings

ryoluo/sail-ssl

Repository files navigation

🚢 Sail-SSL

Version Downloads License Test

Laravel Sail plugin to enable SSL (HTTPS) connection with Nginx.

Install

You need to setup Laravel Sail environment before using the plugin.

With local PHP / Composer:

composer require ryoluo/sail-ssl --dev
php artisan sail-ssl:install
./vendor/bin/sail up

With Sail container:

./vendor/bin/sail up -d
./vendor/bin/sail composer require ryoluo/sail-ssl --dev
./vendor/bin/sail artisan sail-ssl:install
./vendor/bin/sail down
./vendor/bin/sail up

After containers started, you can access https://localhost.

Environment variables

  • SERVER_NAME
    • Determine server_name directive in nginx.conf
    • Default: localhost
  • APP_SERVICE
    • Specify Laravel container name in docker-compose.yml
    • Default: laravel.test
  • HTTP_PORT
    • Port to forward Nginx HTTP port
    • By default, request for this port would redirect to SSL_PORT
    • Default: 8000
  • SSL_PORT
    • Port to forward Nginx HTTPS port
    • Default: 443
  • SSL_DOMAIN
    • The Common Name to use in the SSL certificate, e.g. SSL_DOMAIN=*.mydomain.test
    • Required to generate a valid certificate for a domain other than localhost
    • Default: localhost
  • SSL_ALT_NAME
    • The Subject Alternative Name to use in the SSL certificate, e.g. SSL_ALT_NAME=DNS:localhost,DNS:mydomain.test
    • Required to generate a valid certificate for a domain other than localhost
    • Default: DNS:localhost

Configure Nginx

./nginx/templates/default.conf.template will be published.

php artisan sail-ssl:publish

Contribution

Feel free to create a PR!