assurdeal / sail-https
Enable https on Laravel sail powered apps.
Installs: 4 779
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1|^8.2
- illuminate/contracts: ^9.0|^10.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^5.0|^6.0|^7.9
- orchestra/testbench: ^7.0|^8.0
- pestphp/pest: ^1.0|^2.0
- pestphp/pest-plugin-laravel: ^1.0|^2.0
README
This package allows you to use HTTPS in your Laravel Sail development environment.
Installation
You can install the package via composer:
composer require assurdeal/sail-https --dev
You can publish the config file with:
php artisan vendor:publish --tag="sail-https-config"
Usage
Add your authorized domains to your .env
file:
SAIL_HTTPS_AUTHORIZED_DOMAINS=example.text,example2.test
Add the following to your docker-compose.yml
file:
volumes: sail-caddy: driver: local
### Caddy Server reverse proxy ############################ caddy: image: caddy:latest restart: unless-stopped ports: - '${APP_SSL_PORT:-443}:443' volumes: - './vendor/assurdeal/sail-https/.docker/caddy/Caddyfile:/etc/caddy/Caddyfile' - sail-caddy:/data - sail-caddy:/config networks: - sail
Set up SSL certificate
First get the Caddy container ID
docker ps | grep caddy
Then copy the Certificate from the Container
docker cp {container_id}:/config/caddy/pki/authorities/local/root.crt ~/Desktop
MacOS
Finally, open up "Keychain Access.app" and drag and drop the certificate into the "login" keychain. Open the certificate (it should be called something like "Caddy Local Authority") and configure it to "Always Trust".
Windows
-
To add, use the command: certutil -addstore -f "ROOT" root.crt
-
To remove, use the command: certutil -delstore "ROOT" serial-number-hex
Linux (Ubuntu, Debian)
- To add:
- Copy your CA to dir
/usr/local/share/ca-certificates/
- Use command:
sudo cp root.crt /usr/local/share/ca-certificates/root.crt
- Update the CA store:
sudo update-ca-certificates
- Copy your CA to dir
- To remove:
- Remove your CA.
- Update the CA store:
sudo update-ca-certificates --fresh
Note: Restart Kerio Connect to reload the certificates in the 32-bit versions or Debian 7.
Linux (CentOs 6)
- Install the ca-certificates package:
yum install ca-certificates
- Enable the dynamic CA configuration feature:
update-ca-trust force-enable
- Add it as a new file to /etc/pki/ca-trust/source/anchors/:
cp root.crt /etc/pki/ca-trust/source/anchors/
- Use command:
update-ca-trust extract
Linux (CentOs 5)
Append your trusted certificate to file /etc/pki/tls/certs/ca-bundle.crt
cat root.crt >>/etc/pki/tls/certs/ca-bundle.crt
Note: Restart Kerio Connect to reload the certificates in the 32-bit version.
Testing
composer test
Credits
Big Thanks to all developers who worked hard to create something amazing!
Creator
Twitter: @PercyMamedy
GitHub: percymamedy
License
The MIT License (MIT). Please see License File for more information.