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
[[email protected] ~]$ curl -iL domainku.tld/ping
HTTP/1.1 200 OK
content-length: 7
content-type: text/plain
pong!!!
[[email protected] ~]$