AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 878582
Accepted
PHELMS
PHELMS
Asked: 2017-10-16 11:28:51 +0800 CST2017-10-16 11:28:51 +0800 CST 2017-10-16 11:28:51 +0800 CST

使用 NGINX 进行身份验证

  • 772

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

我用 Laravel 构建了一个小型应用程序,它对用户进行身份验证并向他们提供指向这些 nginx 代理的链接列表。

我希望将 nginx 身份验证更新为 JWT 令牌之类的东西,但是我不确定如果没有背后的 API 来验证实际令牌本身是否足够安全?

我在想的另一个选择是 LDAP 解决方案,并让 Laravel 和 NGINX 代理都使用 ldap 身份验证。

位于 nginx 代理后面的应用程序没有任何身份验证,我们目前无意向它们添加任何身份验证

nginx
  • 2 2 个回答
  • 2490 Views

2 个回答

  • Voted
  1. Best Answer
    gxx
    2017-10-16T13:39:55+08:002017-10-16T13:39:55+08:00

    Nginx 包含request auth 模块,它

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

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

    我想到了两种可能:

    • 您可以扩展现有的 Laravel 应用程序,以便可以从 Nginx“链接到它”,这会将用户带到“登录”页面,并且如果经过身份验证,则向 Nginx 发送“200 OK”响应。
    • 您可以利用这种技术检查第一个现有的解决方案,例如Nginx LDAP Auth。

    详细说明第二个答案:

    • 如果帐户数据确实存储在 LDAP 中,您可以编写一个脚本,例如通过 cron 定期执行,该脚本将数据从 LDAP 中提取出来,并将其写入一个htpasswd文件以供 Nginx 读取。
    • 2
  2. user439837
    2017-10-16T12:19:45+08:002017-10-16T12:19:45+08:00

    Nginx 没有内置的方法来做到这一点。它只能执行 htpasswd 身份验证和 per-IP 允许/拒绝规则。

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

    • 0

相关问题

  • Gzip 与反向代理缓存

  • nginx 作为代理的行为

  • Nginx 学习资源 [关闭]

  • 提供 70,000 个静态文件 (jpg) 的最佳方式?

  • 在 Apache、LightTPD 和 Nginx Web 服务器上提供 PHP 5.x 应用程序的现状?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve