2016-12-01 4 views
0

Ich habe folgende acl-Regeln, um den Bereich meines url_param-Wertes zu überprüfen.64-Bit-Ganzzahlvergleich in HAProxy acl-Regel

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

Die Nummer sind 64-Bit-Ganzzahlen. Dieser Vergleich scheint nicht zu funktionieren. Es wird immer nur auf eine Instanz umgeleitet. Wenn ich die Zahlen auf einen Bereich von 1 bis 100 reduziere, funktioniert es gut. Unterstützt es keine 64-Bit-Nummern oder mache ich hier etwas Dummes?

Antwort

0

Die documentation verwendet immer "int" und "integer", um über diesen Typ zu sprechen. Wenn Sie den Quellcode überprüfen, sehen Sie, dass smp_fetch_url_param_valstrl2ic verwendet, die einen int, nicht einen long zurückgibt.

Also nein, Sie können keine 64bit-Werte mit urlp_val extrahieren.