怎样用LDAP(AD)来认证Nginx的proxy_pass? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Kymair
V2EX    NGINX

怎样用LDAP(AD)来认证Nginx的proxy_pass?

  •  
  •   Kymair
    kymair 2013-01-29 19:59:14 +08:00 10478 次点击
    这是一个创建于 4645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在本地有一台server foo可以访问某些受限环境的server bar(单独开了防火墙foo -> bar:80)
    然后http://foo/abc会用proxy_pass转到http://bar/abc

    现在的需求是,我想在Nginx里配置一些认证,最好是能用LDAP(Active Directory), 只让授权用户来访问http://foo/aaa http://foo/bbb
    麻烦请问各位有什么好的思路?
    因为http://foo/redmine 和http://foo/jenkins的Jenkins和Redmine(Rails app)都已经有插件去实现AD的认证,所以想统一用AD.. 可是又不大清楚怎样使用Redmine或Jenkins现有的系统去认证Nginx http://foo/aaa http://foo/bbb 的proxy_pass ...

    好像有点乱,不知道描述清楚了没 >_<
    7 条回复    1970-01-01 08:00:00 +08:00
    ericFork
        1
    ericFork  
       2013-01-29 20:31:25 +08:00
    Kymair
        2
    Kymair  
    OP
       2013-01-29 20:41:42 +08:00
    @ericFork 谢谢,其实试过nginx-auth-ldap 就是还没大想明白要怎么跟Redmine或者Jenkins或者任意的auth.php之类的做集成...
    BOYPT
        3
    BOYPT  
       2013-01-30 13:39:25 +08:00
    让nginx做auth有啥意义呢,这里明显是需要多个系统集成,nginx作为一个固化系统,是很难做到灵活的,你的web应用都是rail,wsgi前端套个auth中间件来做认证就是了。

    HTTP Basic Auth仅仅是浏览器每次都带了HTTP头,写着用户名和base64了的密码,这种操作没必要折腾nginx来完成。
    Kymair
        4
    Kymair  
    OP
       2013-01-30 14:06:08 +08:00
    @BYOPT 我需要验证的后台服务并不是Rails, 也不是Jenkins, 只是一些监测的古老的Applets + 纯HTML. 我只是想可不可以"借用" Rails或者Jenkins的authentication而已

    Anyway已经成功, 感谢各位。直接用nginx-auth-ldap即可,会弹出一个类似HTTP Basic的对话框来输入用户名密码,不用专门的页面
    LazyZhu
        5
    LazyZhu  
       2013-01-30 14:45:38 +08:00
    @BOYPT "nginx作为一个固化系统,是很难做到灵活的"
    这话说明你根本不懂nginx

    example: http://uimeet.com/imdb-api-release/
    Kymair
        6
    Kymair  
    OP
       2013-01-30 14:58:00 +08:00
    :) Nginx其实是非常灵活的,尤其是武装了各种第三方模块之后以及Lua之后。
    可以参见淘宝的应用 http://tengine.taobao.org/download/taobao_nginx_2012_06.pdf
    以及Nginx传奇人物章宜春同学的 http://agentzh.org/misc/slides/nginx-conf-scripting/#1 + http://agentzh.org/misc/slides/recent-dev-nginx-conf/#1
    BOYPT
        7
    BOYPT  
       2013-01-30 15:32:03 +08:00
    @Kymair
    确实有个流派是把很多业务逻辑以C模块方式去实现,但我认为那是属于优化流程,因为web开发首先是实现,这里面一般面向动态语言,然后再针对瓶颈去优化;模块级别的代码是C,维护成本会日益增加。淘宝、阿里之类的当然大可拿nginx大写特写,但不是谁都是淘宝能长期养下一群牛人,直接学人家那样直接上一堆模块只是埋下隐患。

    当然,这仅仅是个效益最大化问题,符合需求当然才是最重要的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     882 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:28 PVG 04:28 LAX 13:28 JFK 16:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86