Ich habe eine relativ einfache Konfiguration:
upstream appserver-1 {
server unix:/var/www/example.com/app/tmp/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://appserver-1;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Restricted";
auth_basic_user_file /path/to/htpasswd;
}
location /api/ {
auth_basic off;
}
}
Ziel ist es, die Basisauthentifizierung auf der gesamten Website zu verwenden, mit Ausnahme des /api/
Teilbaums. Während dies in Bezug auf die grundlegende Authentifizierung funktioniert, sind andere Richtlinien wie diese ebenfalls proxy_pass
nicht in Kraft /api/
.
Ist es möglich, die Basisauthentifizierung einfach zu deaktivieren, während die anderen Anweisungen beibehalten werden, ohne alles zu kopieren und einzufügen?
quelle
Die folgende Konfiguration funktioniert für die Freigabe eines Ordners von meiner Festplatte, ohne dass eine Authentifizierung für den Freigabeordner und den Rest der Site erforderlich ist
quelle