Nginx & access control
Redirects, forced HTTPS, HTTP Basic Auth, and maintenance mode, all applied without a redeploy.
Force HTTPS
A switch under the site’s Settings, SSL that makes the vhost redirect HTTP to HTTPS. It updates the vhost immediately and takes effect only while the site has an active certificate, so turning it on before issuing one does not interfere with HTTP-01 validation.
Redirects
Each rule has a source path and a destination. The source is an absolute path, optionally ending in * for a prefix match. The destination is an absolute URL or path. Provisore validates both before writing them into the configuration.
Rules live under the site’s Settings, Redirects. Saving a rule does not change the server, so you can edit the whole set and apply once. Applying validates the configuration and restores the previous rules if Nginx rejects it.
HTTP Basic Auth
Add a username and password under the site’s Settings, Password protection, and the whole site is protected. There is no separate on/off setting. Protection is active while at least one credential exists, and removing the last one turns it off and deletes the credential file from the server.
- Passwords are hashed with bcrypt when you save them and cannot be shown again. Re-adding the same username replaces the password.
- Adding or removing a credential updates the vhost and reloads Nginx. No redeploy is needed.
- Requests from the server itself and requests under /.well-known/acme-challenge/ are exempt, so deploy health checks and certificate renewal keep working.
Maintenance mode
Laravel sites can be put into framework maintenance mode (artisan down) and taken back out (artisan up) with the switch in the site’s inspector (⌘.). Other runtimes have no switch, so take the site down from inside your own application.
A deploy does not bring a site back up. The pipeline re-applies the down state to the new release and skips the health check. Taking a site back up is always something you do yourself.
Editing the configuration directly
Nginx in a site’s Settings shows the generated vhost and lets you edit it. Config files in a server’s Settings does the same for server-wide Nginx and PHP configuration. Provisore validates a change before Nginx reloads, so a configuration Nginx will not load is never left in place. A deploy re-renders the site vhost from the template, so lasting changes belong in the site's settings rather than in the file.
A hand-written vhost that listens on 127.0.0.1:443 takes over loopback TLS traffic for the whole server, which makes deploy health checks fail for every site on it. Avoid that listener, or turn off the health check on the affected sites.