首页 > 解决方案 > 除了使用 Laravel Forge 的一条路线外,您如何使用 basic_auth

问题描述

我正在使用 Laravel Forge 的内置 HTTP 基本访问身份验证。
我目前正在对所有路由使用 basic_auth。
我想排除一条路线(basic_auth off)。

我尝试自定义文件,例如:/etc/nginx/forge-conf/.../server/.htpasswd-{ruleId}

我添加了以下附加代码:

location = /example {
    basic_auth off;
}

我也试过:

location /example {
    basic_auth off;
}

我重新启动了nginx。我重新启动了服务器。结果相同:没有变化。路由 /example 未从 basic_auth 中排除。

标签: laravelnginxbasic-authenticationlaravel-forge

解决方案


我无法使用 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 文件处于同一级别。


推荐阅读