nginx 1.11.5 'duplicate' map_hash_bucket_size error when geoip_country block used?
lists at ssl-mail.com
lists at ssl-mail.com
Mon Oct 24 16:08:57 UTC 2016
On Mon, Oct 24, 2016, at 05:20 AM, Maxim Dounin wrote:
> It's not relevant to geoip_country, but rather to the map{} block
> before the map_hash_bucket_size directive. Something like
>
> map $uri $foo {}
> map_hash_bucket_size 4096;
>
> is enough to trigger the error, as the map{} block requires some
> hash bucket size to be set. And if it is not set when parsing a
> map{} block, it is automatically configures bucket size to a
> default value. An attempt to redefine bucket size later will
> trigger the error, and this is what happens with the above
> configuration.
>
> The message is a bit misleading in this particular situation
> as it is a generic one. Though the fact that the configuration is
> rejected is correct: nginx can't use the value specified in the
> map_hash_bucket_size directive, and hence it is expected to reject
> the configuration.
>
> An obvious solution would be to specify map_hash_bucket_size
> before the map{} block, i.e.:
>
> map_hash_bucket_size 4096;
> map $uri $foo {}
Clearly explained, and the 'solution', of simply ordering the commands as above, works as promised.
Once you understand what's going on, "directive is duplicate in" actually makes sense.
Curious, did I miss this ^^ fact in the docs somewhere?
Obviously not critical, but a more clearly descriptive/relevant error would be nice ....
Thanks.
More information about the nginx
mailing list