1
我想編寫一個haproxy規則,當URL包含未編碼字符時將返回一個400錯誤的請求錯誤消息。這些不好的字符在我的應用程序中導致服務器錯誤,並最終導致內存不足的錯誤,並且在通關時將它們發送出去會很好。如何根據URL中的未編碼字符使用HAProxy返回400錯誤?
正確的方法(我知道)是解決這個問題在服務器端,但由於很多愚蠢的原因,我現在無法更改該代碼。
我想,我需要這樣的東西
acl bad_char path_reg [(badcharsethere)]
,但我找不到什麼重定向到400錯誤會是什麼樣子的例子。
哦,這太酷了!謝謝! – esperluette
我很高興你喜歡它。附:你應該真的修復你的服務器。 :)但是在我看來,還有另一個可能很酷的選項,在HAProxy 1.6中使用Lua ......你可以編寫一個小的Lua函數來替換僞造的字符,並返回一個重定向到瀏覽器或者用「更正」的URI '位置:'標題。或者你可以用Lua的'string.gsub()'按摩請求,然後HAProxy會以「更正」的形式將它轉發到服務器。 –
這是個好主意。 :-)(固定服務器和Lua替換函數) – esperluette