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

2023-02-08 16:08:24 +08:00
 thinkingbullet

需求是这样的,打开 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

1247 次点击
所在节点    NGINX
7 条回复
GTim
2023-02-08 16:24:26 +08:00
rewrite 保平安
westoy
2023-02-08 16:31:30 +08:00
在 middleware 里自己处理下 path 不就好了么

就算 nginx 里把这个拆出来作为 env 传给 app , 你也得在 middleware 获取商户数据啊, 对吧
thinkershare
2023-02-08 16:34:45 +08:00
你后端程序为啥需要使用 Domain 来判断租户,难道不能从 path 中解析租户名称 /Id 嘛?
crysislinux
2023-02-08 16:36:04 +08:00
感觉多租户还是子域名更好
JamesMackerel
2023-02-08 16:40:31 +08:00
这看起来是个 path variable 吧。如果是 Spring 的话我会把它在 Filter 或者 Interceptor 里面取出来,放到一个 ThreadLocal 里面让全局都能取到这个值,这样任何需要用到租户信息的地方我都能拿到这个信息。
kiddingU
2023-02-09 17:07:03 +08:00
thinkingbullet
2023-02-10 09:14:58 +08:00
谢谢大家的回复,最终用框架自身的模糊匹配路由和中间件解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/914311

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX