Я запускаю SugarCRM в стеке LEMP и закрываю его с помощью auth_basic. Это нормально работает, заголовки показывают:
WWW-Authenticate:
Basic realm="Username and Password are required"
Некоторые файлы в SugarCRM имеют собственную встроенную HTTP-аутентификацию через PHP, например ical_server.php, который отображается в его заголовках:
WWW-Authenticate:
Basic realm="SugarCRM iCal"
X-Dav-Powered-By:
PHP class: HTTP_WebDAV_Server_iCal
Я пытаюсь обойти auth_basic для этого файла или, по крайней мере, для моей собственной области, первой из показанных выше.
location = /ical_server.php {
auth_basic "off";
}
Однако это отключает обе области. Другими словами, он отключает auth_basic полностью, без разбора.
Есть ли способ выборочно отключить выбранную область базовой аутентификации http? Документация Nginx, похоже, предполагает, что этого нет, если это правда, то есть ли другой, возможно, окольный способ сделать это?
Например, регулярное выражение для включения моей области в первую очередь?
Псевдокод:
location != /ical_server.php {
auth_basic "Username and Password are required";
auth_basic_user_file /var/web/webaddress.tld/private/.htpasswd;
}
Хотя я не думаю, что отрицательное соответствие возможно.
Любые идеи?
Вы можете определить два местоположения:
location /ical_server.php {
}
location / {
auth_basic "Username and Password are required";
auth_basic_user_file /var/web/webaddress.tld/private/.htpasswd;
}