-1

我有 nginx 服务器,它后面运行着一个 Django 应用程序,服务器通过 Basic_auth 身份验证进行保护。我想要的是从身份验证中排除一些端点,例如:

/api/v1/testpoint/?search=48

我试过了,我得到了 404。

4

1 回答 1

0

就我而言,我在我的mysite

location /api/v1/testpoint/ {
    auth_basic off;
}

它成功地为所有请求禁用了 Basic_authentication /api/v1/testpoint/

但是我遇到了404错误,因为当/api/v1/testpoint/?search=48Nginx 的请求到达时,尝试提供相对于其默认公共 Web 根目录的请求。

但由于我正在运行 django 应用程序,它应该将请求转发给 django 应用程序,而不是相对于默认的公共 Web 根目录为它们提供服务。

nginx 正在通过运行在端口 9090 上的 uWsgi 服务器与 django 应用程序通信。

所以我修改了上面的块:

location /api/v1/testpoint/ {
    auth_basic  off;
    uwsgi_pass  127.0.0.1:9090;
    include  uwsgi_params;
}

这解决了问题。

于 2019-07-11T14:38:03.903 回答