我是 Nginx 新手,所以如果我的问题很明显,请耐心等待。
我正在寻找对 Nginx 服务器进行用户身份验证的方法。根据我的研究,我了解到有两个主要选择:
最终用户向 Nginx 发送包含私钥(例如在标头中)的请求,Ngnix 将身份验证发送到身份验证服务器,如果用户通过身份验证,Ngnix 就会得到答案。
第二个选项是 Nginx plus(一项需要花钱的服务),Nginx 处理身份验证过程 - 如果有人知道此选项的开源版本,那将是最好的。
非常感谢您的帮助,谢谢大家!
旧的良好基本身份验证仍然存在,其中包括
ngx_http_auth_basic_module
。不幸的是,nginx 本身实现的唯一算法是旧且弱的 apache MD5,但是使用基于 glibc
的主机系统,您还有其他一些选择。您可以在这里了解更多详情。
您可以使用客户端证书对用户进行身份验证。网上有很多文章;这是 google 第一个搜索结果页面中的 Nginx 客户端证书身份验证。
njs 模块中的
js_content
指令作为身份验证位置内容处理程序(而不是将身份验证请求代理到某些后端应用程序)。或者您可以同时执行这两件事,您可能会发现使用 NGINX 和 NGINX Plus 验证 OAuth 2.0 访问令牌文章非常有趣。
lua-nginx-module 实现几乎所有您能想象到的身份验证机制。一些有用的链接(同样,来自谷歌搜索结果的第一页)是