nginx 自带有Ngx_http_auth_basic_module
模块,可以用来进行加密访问,想问一下如果配置了多用户,能否让登录的用户跳转到特定的路径,也就是说,有什么参数能用来判断目前登录的是哪个用户吗?例如:
- 当以
user1
+passwd1
登录的时候,则页面路径跳转到example.com/user1
- 当以
user2
+passwd2
登录的时候,则页面路径跳转到example.com/user2
主要是想把 fancyindex 作为多用户网盘来使用,具体要怎么做?或者有其他的实现方法吗?
还有就是,使用自带的Ngx_http_auth_basic_module
模块进行加密国外服务器访问的安全性如何?如果容易被破的话还有什么替代方案吗?
HTTP Basic Auth 是将用户名密码 base64 后放在 Header 中,安全性自行定夺。
你这个需求最好还是用后端程序实现。
干嘛不写个后端来处理分发
感谢解答,不过对后端开发不熟,所以才想找找看有没有现成的方案可以直接用。
有 https 的话问题不大。
写个后端比研究 nginx 简单多了吧
$remote_user
后台返回一个角色不就好
Ngx_http_auth_basic_module 这个模块实现的是 HTTP 基本认证,根本就不涉及到多用户(或者说它实现的就是最基础的 CSP )。
所以你直接去找个支持多用户的网盘程序不就得了?
本质上是要写后端,一定要放在 nginx 里面跑的话,可以试试 lua 模块
可以试一试 Openresty 这种 nginx 增强版,通过 lua 代码实现逻辑
感谢解答,用了`$remote_user`做判断,然后 rewrite 到对应 location,也算是解决了。
主流网盘都试过,最近也是刚从用了大半年的 nextcloud 退坑的,主要是网盘功能多,用不到又占用资源,主要还是以满足目前的需求为主,毕竟小鸡。