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

做 Sass 站,一个域名如何区分是哪个子站的用户

  •  
  •   thinkingbullet · 2023-02-08 16:08:24 +08:00 · 1496 次点击
    这是一个创建于 664 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求是这样的,打开 www.demo.com 是总门户网站,www.demo.com/t001 是商户 A 的子站,www.demo.com/t002 是商户 B 的子站,以此类推.

    问题来了,因为目前的框架没有精确的模糊匹配功能(只能 /[^]/,不能 /t\d+/),所以求助一下大佬 nginx 能不能把 www.demo.com/txxx 二次处理一下作为一个域名.后端程序获取到的 domain 就是 www.demo.com/txxx

    7 条回复    2023-02-10 09:14:58 +08:00
    GTim
        1
    GTim  
       2023-02-08 16:24:26 +08:00
    rewrite 保平安
    westoy
        2
    westoy  
       2023-02-08 16:31:30 +08:00
    在 middleware 里自己处理下 path 不就好了么

    就算 nginx 里把这个拆出来作为 env 传给 app , 你也得在 middleware 获取商户数据啊, 对吧
    thinkershare
        3
    thinkershare  
       2023-02-08 16:34:45 +08:00
    你后端程序为啥需要使用 Domain 来判断租户,难道不能从 path 中解析租户名称 /Id 嘛?
    crysislinux
        4
    crysislinux  
       2023-02-08 16:36:04 +08:00 via Android
    感觉多租户还是子域名更好
    JamesMackerel
        5
    JamesMackerel  
       2023-02-08 16:40:31 +08:00
    这看起来是个 path variable 吧。如果是 Spring 的话我会把它在 Filter 或者 Interceptor 里面取出来,放到一个 ThreadLocal 里面让全局都能取到这个值,这样任何需要用到租户信息的地方我都能拿到这个信息。
    thinkingbullet
        7
    thinkingbullet  
    OP
       2023-02-10 09:14:58 +08:00
    谢谢大家的回复,最终用框架自身的模糊匹配路由和中间件解决了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:50 · PVG 06:50 · LAX 14:50 · JFK 17:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.