> On 06 Jul 2015, at 16:49, sz_g <[email protected]> wrote: > > I've just created a configuration composed of two servers. > Both just forwards traffic from different ports (and protocols) to different > servers, and keep responses in cache. It works nice. > > For both servers "GET /" request is sent, in the response there is proper > resource. Thus (to distinguish responses in the cache) I added for both > cache_key: > > proxy_cache_key "$upstream_addr*$request”;
At the time when this expression is evaluated, $upstream_addr is still unknown since no upstream connection is made. Obviously, if a key is found in cache, there will be no upstream connection at all. So it’s not a good idea to use $upstream_addr in key definition. Instead, you can use the parts of request which define the upstream address. > > But it doesn't work. I found that upstream states are not available and thus > "proxied" address is not known when cache key is computed. And "proxied" > address is computed only when additional stream must be used.. > > Is there any way to get proper key? Or any other way to keep all copies in > the cache? > > I plan to add "load balancing" module, which would be able to forward > request on (multiple) source addresses to multiple proxied addresses, with > caching.. Will it work properly? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?2,260086,260086#msg-260086 > > _______________________________________________ > nginx mailing list > [email protected] > http://mailman.nginx.org/mailman/listinfo/nginx > -- Roman Arutyunyan _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
