Haproxy
匹配萬用字元域,除了 HAproxy 中的兩個特定子域
我有一個看起來像這樣的規則:
redirect scheme https code 301 if { hdr_end(Host) -i mydomain.live otherdomian.org } !{ ssl_fc }
但我希望規則忽略 sub1.otherdomain.org 和 sub2.otherdomain.org
我想做類似的事情:
redirect scheme https code 301 if { hdr_end(Host) -i mydomain.live otherdomian.org } unless { hdr_beg(host) -i sub1 sub2 } !{ ssl_fc }
但我的語法不正確,我想我只需要以某種方式組合 if 和 unless 。
我將如何做到這一點?
為了清楚起見,添加了換行符:
redirect scheme https code 301 if { hdr_end(Host) -i .mydomain.live .otherdomian.org } !{ hdr_beg(host) -i sub1 sub2 } !{ ssl_fc }
用通用語言來說,條件是這樣的:
if (a) and (not (b)) and (not (c))
if
並且unless
只能用在表達式的開頭。
acl a1 hdr_beg(host) -i sub1.otherdomain.org sub2.otherdomain.org acl a2 hdr_end(Host) -i mydomain.live otherdomain.org redirect scheme https code 301 if !a1 a2