从非 auth_request 位置访问时,Nginx auth_request 被忽略

从非 auth_request 位置访问时,Nginx auth_request 被忽略

我正在尝试使用一个允许我通过下载链接上传和共享文件的 Web 应用程序。我希望上传部分仅供经过身份验证的用户访问,下载链接可供公众用户访问。所有下载链接的 URL 中都有 /download,以下配置在大多数情况下都有效。Authnetik 用于身份验证请求。

location / {
    auth_request ...;
    ...
}
location /download/ {
    ...
}

由于 Web 应用程序的编写方式,下载完成后会向用户显示一个链接,该链接会重定向到根站点。由于某种原因,当通过此链接访问根站点时,auth_request 会被忽略,公共用户可以访问上传页面。

以下位按预期正常工作:

  • example.com > 需要身份验证
  • example.com/download/* > 不需要身份验证,可供公共用户访问。

访问 example.com/download/ 时,会有一个返回 example.com 的链接,通过这种方式访问​​时无需身份验证请求即可加载。如果直接在浏览器中输入 URL 来访问 send.example.com,则需要身份验证请求。

由于 Web 应用程序本身是一个 Docker 容器,我想尝试修复此问题,而无需更改页面本身的内容,即不删除链接。我可以在 Nginx 中进行任何配置来强制对这些链接进行身份验证请求吗?

相关内容