server { listen 80; server_name abc.com.cn; access_log /dev/null; error_log /data/logs/error.log; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; if ($remote_addr ~ "192.168.1.100") { proxy_pass http://abc_test_server; break; } proxy_pass http://abc_server; } }
![]() | 1 justseemore 2019-07-23 11:16:16 +08:00 nginx ip 分流 google 下 |
2 taolu 2019-07-23 11:19:30 +08:00 `geo`指令吧 |
3 arrow8899 2019-07-23 11:25:33 +08:00 ![]() if ($remote_addr ~ "192.168.1.*") 直接就是支持正则的 |
![]() | 4 aaa5838769 OP @zpfhbyx 我这个需求是两个不同的网段,一个 192.168.4.x,另一个是 172.17.10.x |
![]() | 5 aaa5838769 OP @taolu 我搜一下。 |
![]() | 6 aaa5838769 OP @arrow8899 非常感谢 |
![]() | 7 justseemore 2019-07-23 11:31:14 +08:00 @aaa5838769 那用 2l @taolu 说的 geo 吧 |
![]() | 8 whsir 2019-07-23 13:40:44 +08:00 我觉得你可以参考下这个 https://blog.whsir.com/post-4430.html |
![]() | 9 realpg PRO 正则表达式不是爱怎么写就怎么写 |
10 ToughGuy 2019-07-23 16:59:25 +08:00 map $remote_addr $upstream { 192.168.1.100 "abc_test_server"; } proxy_pass http://$upstream; |
11 ToughGuy 2019-07-23 17:00:39 +08:00 |
![]() | 12 Aresxue 2019-07-23 17:18:07 +08:00 不是默认支持正则? |
![]() | 13 jamesliu96 2019-07-23 17:42:32 +08:00 via Android 用核心 map 模块或者 rewrite 模块都能实现,主要看你具体需求了,但其实很少有需要在 ng 代理上做这个的 |
![]() | 14 aaa5838769 OP @jamesliu96 那么一般都是在路由层还是 DNS 那去做? |
![]() | 15 jamesliu96 2019-07-24 11:02:10 +08:00 via Android @aaa5838769 都可以,最优方案看具体需求 |