Nginx: Basic_auth is set up and working, but all protected pages return 404
You probably need to repeat proxy_pass
inside the second location
block:
location /protected {
try_files $uri $uri/ =404;
proxy_pass http://app_server; # add this line
auth_basic "Restricted";
auth_basic_user_file /app/config/.htpasswd;
}
I've had the same problem with a configuration similar to yours. To investigate the issue, I've opened the nginx logs (tail -f /var/log/nginx/error.log
). There, I've seen a couple of open() "/usr/share/nginx/html/my/endpoint/path" failed (2: No such file or directory)
– this suggested that nginx doesn't perform reverse proxy without explicit proxy_pass in each location block.