加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

如何在nginx中设置自动身份验证层?

发布时间:2020-12-13 21:02:46 所属栏目:Nginx 来源:网络整理
导读:我正在一个公共域下构建一个应用程序生态系统,每个应用程序都位于一个单独的子域中.我已经为生态系统构建了一个身份验证应用程序,但是它需要专门配置其他应用程序才能使用它.有没有办法配置nginx来管理用户会话,可能将用户信息作为标题转发到各种应用程序?

我正在一个公共域下构建一个应用程序生态系统,每个应用程序都位于一个单独的子域中.我已经为生态系统构建了一个身份验证应用程序,但是它需要专门配置其他应用程序才能使用它.有没有办法配置nginx来管理用户会话,可能将用户信息作为标题转发到各种应用程序?

最佳答案
让我向您展示可以与Nginx一起使用的跨应用程序身份验证的常见模式:

1)构建名为auth_service的独立服务,根据需要独立于Web应用程序工作

2)每个子域应用程序将具有代理相同身份验证服务的单独位置

location = /auth {
  proxy_pass http://auth_service.localhost/authenticate;
  proxy_pass_request_body off;
  proxy_set_header Content-Length "";
  proxy_set_header X-Original-URI $request_uri;
}

3)个人网络应用程序使用“/ auth”位置来传递登录/传递(基于POST数据,标题或临时令牌)

4)独立服务的处理程序“/ authenticate”接受web apps login / pass,如果失败则返回200或401

这种方法的根源是“/ auth”位置位于每个自己的基于子域的应用程序上,
服务器端调用单个认证端点的调用,可以有效地重复使用,可以避免代码重复.

默认情况下,此模块Auth Request不是构建的,而是附带源代码.在使用之前,只需使用–with-http_auth_request_module选项编译Nginx.

更新:自Nginx 1.5.4以来,这个插件是标准发行版,无需单独编译.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读