ryoluo / sail-ssl
Laravel Sail plugin to enable SSL (HTTPS) connection with Nginx.
Installs: 309 759
Dependents: 0
Suggesters: 0
Security: 0
Stars: 162
Watchers: 2
Forks: 15
Open Issues: 3
Requires
- php: ^7.3|^8.0|^8.1|^8.2|^8.3
- illuminate/console: ^8.0|^9.0|^10.0|^11.0
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- laravel/sail: ^1.14
- orchestra/testbench: ^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.5|^10.0
README
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
- Determine
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
- The Common Name to use in the SSL certificate, e.g.
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
- The Subject Alternative Name to use in the SSL certificate, e.g.
Configure Nginx
./nginx/templates/default.conf.template
will be published.
php artisan sail-ssl:publish
Contribution
Feel free to create a PR!