我有nginx服务器,其后运行着Django App,该服务器通过Basic_auth身份验证进行保护。我想要的是从身份验证中排除某些端点,例如:
/api/v1/testpoint/?search=48
我尝试使用this,但得到404。
答案 0 :(得分:0)
就我而言,我在mysite
中添加了类似内容:
location /api/v1/testpoint/ {
auth_basic off;
}
成功禁用了对/api/v1/testpoint/
的所有请求的Basic_authentication。
但是我遇到了404
错误,因为当对/api/v1/testpoint/?search=48
的请求到达时,Nginx尝试根据其默认的公共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;
}
这解决了问题。