Hi. Am 15.10.2018 um 09:08 schrieb anish10dec: > We want to use Nginx as LB in a way so that Nginx can return 301 or 302 > redirect to client instead of Proxying request to backend/upstream servers. > > It is required as Server which is configured as LB is having limited > throughput of 1 Gbps while upstream servers are having throughput of 10Gbps > . > > We want users to directly connect to Upstream Server for Data delivery. > Nginx LB Server to make sure that all upstream are up and functional before > giving 301 or 302 redirect to any of upstream server > > Example: > > http://nginxlb.com/data/download > > Nginx LB Returns Redirected URL to Client 301 or 302 ( That upstream should > be up) > > http://upstreamserver1.com/data/download > http://upstreamserver2.com/data/download > > Is this possible by : > > return 301 http://$upstream_addr/data/download
I would do this with maps, rewrite and upstream variables. https://nginx.org/en/docs/http/ngx_http_map_module.html https://nginx.org/en/docs/http/ngx_http_upstream_module.html#variables https://nginx.org/en/docs/http/ngx_http_rewrite_module.html Untested: ### map $upstream_addr $direct_domain { default nginxlb.com; IP1 upstreamserver1.com; IP2 upstreamserver2.com; } return 301 http://$direct_domain/data/download ### Regards Aleks > Posted at Nginx Forum: > https://forum.nginx.org/read.php?2,281590,281590#msg-281590 > > _______________________________________________ > nginx mailing list > nginx@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx > _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx