HAproxy Dynamic Responses
Posted on
Return custom response terhadap request tertentu, ketika pakai Nginx aku sering banget pakai ini. Seringnya aku pakai untuk cek "detak jantung" si nginx, dan stateless acme challenges. Contoh config-nya seperti ini
http {
...
server {
...
location ~ ^/\.ping$ {
default_type text/plain;
return 200 "Pong!!!;
}
...
}
}
Nah, di HAproxy juga ada fitur serupa, sayangnya baru ada sejak haproxy v2.2. Di Haproxy kita bisa pakai direktif http-request return . Dengan fitur itu maka aku bisa return response tanpa harus menyentuh backend, cukup di frontend aja, Contohnya begini:
...
frontend web
bind :80
bind :443 ssl crt /etc/haproxy/ssl/
...
http-request return status 200 content-type "text/plain" string "Pong!!!" if { path_beg /ping }
...
default_backend backend-web
Ketika di cUrl
[sumar@tingpret ~]$ curl -iL domainku.tld/ping
HTTP/1.1 200 OK
content-length: 7
content-type: text/plain
pong!!!
[sumar@tingpret ~]$