upstream hash on portion of URL

Evan Miller emmiller+gmane at
Sun Jun 8 00:21:09 MSD 2008

Scott Royston <scott.royston at ...> writes:

> I'd like to use the Upstream Hash Module, but have the hash be based
> on just a portion of the URL.
> For example, I have urls of the form:
> http://server/foo/hash_part1/hash_part2/remainder/of/url/...
> and I'd like the hash to be based on 'hash_part1' and 'hash_part2'.
> Looking at the module doc, it takes a variable to do the hash on.  Is
> there any way to set a variable based on a regex expression?  Or is
> there another easy way to do this?
> Thanks.

Try something like

if ($request_uri ~ /foo/(.*?)/(.*?)/remainder) {
    set $hash1 $1;
    set $hash2 $2;
    hash "$hash1 $hash2";

In any event, check out


More information about the nginx mailing list