Как вы используете basic_auth для всех маршрутов, кроме одного, используя Laravel Forge

#laravel #nginx #basic-authentication #laravel-forge

Вопрос:

Я использую встроенную HTTP-аутентификацию базового доступа для Laravel Forge.
В настоящее время я использую basic_auth для всех маршрутов.
Я хотел бы исключить один маршрут (basic_auth отключен).

Я попытался настроить файл, пример: /etc/nginx/forge-conf/…/server/.htpasswd-{ruleId}

Я добавил следующий дополнительный код:

 location = /example {
    basic_auth off;
}
 

Я также пытался:

 location /example {
    basic_auth off;
}
 

Я перезапустил nginx. Я перезапустил сервер. Тот же результат: никаких изменений. Маршрут / пример не был исключен из basic_auth.

Ответ №1:

Я не смог найти решение, используя встроенный инструмент «Безопасность» для базовой аутентификации, предоставляемый Laravel Forge.

Я смог решить проблему, обновив файл nginx для сайта без использования вышеупомянутого инструмента «Безопасность».

Заменить www.example.com с адресом вашего сайта на Laravel Forge.
Замените /example на путь, который вы хотели бы исключить.

 location / {
    auth_basic "Restricted Access";
    auth_basic_user_file /home/forge/www.example.com/.htpasswd;
       
    try_files $uri $uri/ /index.php?$query_string;
}
    
location /example {
    auth_basic off;

    try_files $uri $uri/ /index.php?$query_string;
}
 

Я создал файл .htpasswd (найдите в Google, чтобы узнать, как создать свой собственный с именем пользователя и паролем). Я загрузил его в корень каталога моего проекта на том же уровне, что и файл .env.