On a Laravel Forge Nginx Server I've enabled basic auth security at a root level for my site, this is working fine.
However I'm now trying to exclude a webhooks path from basic auth to allow the site to function properly with third parties.
No matter what I try this it not seem to work, it works fine if the folder/file exists in the filesystem but not for pretty URLs set-up as routes in Laravel.
This is an extract of my nginx configuration file:
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/forge-conf/mywebsite/server/.htpasswd;
location = /hooks/stripe {
auth_basic "off";
allow all;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
The above works fine if I change /hooks/stripe
to a physical file such as my CSS or favicon. Additionally inverting it works without issue, where I can lock just that route with a password.
I've tried using variations of the location block, some with =
and some without. Additionally I've tried auth_basic off;
and removing allow all;
. Finally i've tried changing the location using different modifiers and making it less specific and placing it before and after the /
root location try_files
.
Any help would be massively appreciated as I'm now completely stuck