V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
JadeVane
V2EX  ›  NGINX

nginx 能否给用户配置特定页面

  •  
  •   JadeVane · 2019-04-08 20:42:39 +08:00 · 3250 次点击
    这是一个创建于 2050 天前的主题,其中的信息可能已经有所发展或是发生改变。

    nginx 自带有Ngx_http_auth_basic_module模块,可以用来进行加密访问,想问一下如果配置了多用户,能否让登录的用户跳转到特定的路径,也就是说,有什么参数能用来判断目前登录的是哪个用户吗?例如:

    1. 当以user1+passwd1登录的时候,则页面路径跳转到example.com/user1
    2. 当以user2+passwd2登录的时候,则页面路径跳转到example.com/user2

    主要是想把 fancyindex 作为多用户网盘来使用,具体要怎么做?或者有其他的实现方法吗?

    还有就是,使用自带的Ngx_http_auth_basic_module模块进行加密访问的安全性如何?如果容易被破的话还有什么替代方案吗?

    11 条回复    2019-04-09 18:09:57 +08:00
    LoliconInside
        1
    LoliconInside  
       2019-04-08 20:49:58 +08:00
    HTTP Basic Auth 是将用户名密码 base64 后放在 Header 中,安全性自行定夺。
    你这个需求最好还是用后端程序实现。
    ymcj001
        2
    ymcj001  
       2019-04-08 20:55:06 +08:00 via Android
    干嘛不写个后端来处理分发
    JadeVane
        3
    JadeVane  
    OP
       2019-04-08 22:06:17 +08:00
    @LoliconInside
    @ymcj001
    感谢解答,不过对后端开发不熟,所以才想找找看有没有现成的方案可以直接用。
    ysc3839
        4
    ysc3839  
       2019-04-08 22:18:59 +08:00
    @LoliconInside 有 https 的话问题不大。
    shuax
        5
    shuax  
       2019-04-08 22:26:05 +08:00
    写个后端比研究 nginx 简单多了吧
    0ZXYDDu796nVCFxq
        6
    0ZXYDDu796nVCFxq  
       2019-04-08 22:35:44 +08:00
    $remote_user
    weixiangzhe
        7
    weixiangzhe  
       2019-04-09 08:27:56 +08:00 via iPhone
    后台返回一个角色不就好
    marsgt
        8
    marsgt  
       2019-04-09 10:13:41 +08:00
    Ngx_http_auth_basic_module 这个模块实现的是 HTTP 基本认证,根本就不涉及到多用户(或者说它实现的就是最基础的 CSP )。
    所以你直接去找个支持多用户的网盘程序不就得了?
    yoshiyuki
        9
    yoshiyuki  
       2019-04-09 11:54:15 +08:00
    本质上是要写后端,一定要放在 nginx 里面跑的话,可以试试 lua 模块
    halk
        10
    halk  
       2019-04-09 12:55:03 +08:00
    可以试一试 Openresty 这种 nginx 增强版,通过 lua 代码实现逻辑
    JadeVane
        11
    JadeVane  
    OP
       2019-04-09 18:09:57 +08:00
    @gstqc
    @weixiangzhe
    @yoshiyuki
    @halk
    感谢解答,用了`$remote_user`做判断,然后 rewrite 到对应 location,也算是解决了。

    @marsgt
    主流网盘都试过,最近也是刚从用了大半年的 nextcloud 退坑的,主要是网盘功能多,用不到又占用资源,主要还是以满足目前的需求为主,毕竟小鸡。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5359 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:33 · PVG 17:33 · LAX 01:33 · JFK 04:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.