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