我读了很多资料,发现人们只是建议使用 OAuth 模块来启用身份验证,但是,OAuth 并不是一个适合所有情况的解决方案,而且我有一个自定义身份验证后端,可以从自定义标头中验证令牌。
NGinx 是否可以拦截请求,自动将标头转发到身份验证服务,并且仅在响应为 200 时继续代理,否则重定向到登录页面?
答案1
http://nginx.org/en/docs/http/ngx_http_auth_request_module.html可以用于此目的。我自己没用过,所以不知道它是如何工作的。
看起来您将身份验证端点配置为反向代理目标,然后使用proxy_set_header
指令设置请求标头。
这样,您应该能够将所需的标头传递到您的身份验证端点并获取身份验证结果。