2016-12-01 9 views
0

У меня есть следующие правила acl, чтобы проверить диапазон моего значения url_param.64-битное целочисленное сравнение в правиле HAProxy acl

acl small  urlp_val(uid) le 311111111111000000 
acl medium  urlp_val(uid) 311111111111000001:311111111111001000 
acl large  urlp_val(uid) ge 311111111111001001 

Число 64-битных целых чисел. Это сравнение, похоже, не работает. Он всегда перенаправляется только на один экземпляр. Если я уменьшу числа до диапазона от 1 до 100, он работает хорошо. Разве это не поддерживает 64-битные номера, или я делаю что-то глупое/глупое здесь?

ответ

0

documentation всегда использует «int» и «integer», чтобы говорить об этом типе. Если вы проверите исходный код, вы увидите, что smp_fetch_url_param_val использует strl2ic, который возвращает int, а не long.

Нет, вы не можете извлечь 64-битные значения с помощью urlp_val.