我想实现访问
http://a.com/sdf 代理到 http://a.com/hgf
http://a.com/35dg 代理到 http://a.com/54fg2
类似这样的 . . . 我有一个列表,大概 500 行
应该怎么实现呢? 不能写 500 个 location 吧,那样性能会不会很爆炸? 只用 nginx 可以吗?
我想实现访问
http://a.com/sdf 代理到 http://a.com/hgf
http://a.com/35dg 代理到 http://a.com/54fg2
类似这样的 . . . 我有一个列表,大概 500 行
应该怎么实现呢? 不能写 500 个 location 吧,那样性能会不会很爆炸? 只用 nginx 可以吗?
|
dethanJan 24, 2022 via Android
1
总得有转发规律吧,没有就维护一个列表?
|
|
sadfQED2Jan 24, 2022 via Android
3
500 行写 nginx 炸不了,我见过上万行的 nginx 配置文件
|
|
melonccJan 24, 2022
4
迷惑行为,这操作是引流吗?
|
|
melonccJan 24, 2022
5
重写是代理的意思吗? 500 个代理炸不了,倒是要注意缓存问题,如果文件乱的话把代理列表分出来。
|
|
kiracyanJan 24, 2022
6
维护一张表 然后用脚本把这个 nginx 输出出来
|
|
wangxnJan 24, 2022 via Android
7
这不就是那些缩短 API 的服务干的事情吗?为啥不 302 过去?
|
|
8
|
|
rrfengJan 24, 2022
9
精确匹配的话用 map 就行。性能肯定没问题。
如果想要可扩展可编辑可以 lua |
|
chezs66Jan 24, 2022
10
这个选型的问题在于变更频率吧?如果写到 ng 配置,变更规则耗时很长吧
|
|
noneJan 24, 2022
11
nginx 的 njs 了解一下,写 js 脚本读取映射文件动态转发请求,这样对 nginx 配置影响最小。
|
|
JDogJan 24, 2022
12
维护一个 mapping ,写 lua 吧....手写配置文件多呆啊
|
|
jakehuJan 24, 2022
13
Lua
|
|
twinsdestinyJan 24, 2022
14
之前公司有看到过,地址维护在 mysql 中,然后 nginx 直接连 mysql 通过参数匹配实际地址,在转发
|
|
avvJan 24, 2022
15
openresty 值得你拥有
|
|
ch2Jan 24, 2022 via iPhone
16
你太小看 nginx 了吧
|
|
0ZXYDDu796nVCFxqJan 24, 2022 via Android
18
map 就行了
如果没有通配、正则,时间复杂度是 O(1),通配和正则的时间复杂度是 O(n) |
|
onhaoJan 25, 2022
19
直接写在 nginx 配置文件里,不好修改,还是写在程序里好。
我就是这样处理的 https://wuhao.pw/archives/298/ 在程序里 做映射 sdf ->hgf 35dg->54fg2 |