特定のURLへのアクセスを制限しようとしています。 /admin.phpへのアクセスを許可しないでください。
frontend example
acl restricted_page path_beg -i /admin\.php
http-request deny if restricted_page
これは正常に機能し、HAProxyはこのURLへのアクセスをブロックしています。しかし、 http://example.org/ad%6Din.php (%6D = "m"の16進コード)と入力すると、HAProxyはアクセスを制限していません。
これを行う最良の方法は何ですか?
ありがとう!
たまたま、HAProxyにはフィールドをデコードする converter があり、ACLが常に指定された文字列と一致することを確認します。
url_dec
入力として提供されたURLエンコードされた文字列を受け取り、デコードされたバージョンを出力として返します。入力と出力は文字列型です。
こんな風に使います。
frontend example
acl restricted_page path_beg,url_dec -i /admin.php
http-request deny if restricted_page