Linux

在 Haproxy 中返回特定 URL 前綴的特定/200 狀態程式碼

  • December 30, 2021

在 Nginx 中,我們可以像這樣向 URL 前綴返回特定的狀態碼。

location /api { return 200; }

我們如何在 Haproxy 中實現相同的目標?

通過 Haproxy ACL 但找​​不到任何內容。

這可以通過使用 lua 響應腳本來完成。我已經使用一個來設置預檢響應的 CORS 標頭。

我的規則如下:

global
   ...
   lua-load /etc/haproxy/200.lua

frontend
   bind ...
   ...
   use_backend http_200 if ...

backend http_200
   http-request use-service lua.200-response

Lua 腳本在/etc/haproxy/200.lua

# 200.lua
core.register_service("200-response", "http", function(applet)
   local response = ""
   applet:set_status(200)
   applet:add_header("Content-Length", "0")
   applet:start_response()
   applet:send(response)
end)

引用自:https://serverfault.com/questions/869178