使用NGINX进行身份validation

我正在运行一组使用基本浏览器身份validation的NGINX代理和用户的htpasswd文件。

我已经用Laravel构build了一个小应用程序来validation用户,并向他们展示了这些nginx代理的链接列表。

我正在寻找更新nginx身份validation像JWT令牌,但是我不知道如果没有一个API后面的APIvalidation实际的令牌本身是否足够安全?

我在想的另一个select是LDAP解决scheme,并使用Laravel和NGINX代理使用ldap身份validation。

nginx代理后面的应用程序没有任何身份validation,我们目前没有任何向他们添加任何的意图

Nginx包含请求authentication模块 ,

根据子请求的结果实现客户端授权。 如果子请求返回2xx响应码,则允许访问。 如果返回401或403,则访问被拒绝,并显示相应的错误代码。 子请求返回的任何其他响应代码都被认为是错误的。

对于401错误,客户端还从子请求响应接收到“WWW-Authenticate”标头。

我有两种可能性:

  • 您可以扩展您现有的Laravel应用程序,以便可以从Nginx链接到它,这将使用户进入“login”页面,并且如果通过validation,则向Nginx发送“200 OK”响应。
  • 您可以利用这种技术检查第一个现有的解决scheme,例如Nginx LDAP Auth 。

详细阐述第二个答案:

  • 如果帐号数据确实存储在LDAP中,则可以编写一个脚本,例如通过cron定期执行,将数据从LDAP中提取出来并写入htpasswd文件中供Nginx读取。

Nginx没有一个内置的方法来做到这一点。 它只能做htpasswdauthentication和per-IP允许/拒绝规则。

Nginx Plus有办法做到这一点,并在Nginx博客上详细描述