在 Nginx 中,我们可以像这样向 URL 前缀返回特定的状态代码。
location /api { return 200; }
我们如何在 Haproxy 中实现同样的功能?
通过了 Haproxy ACL 但找不到任何内容。
答案1
这可以通过使用 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)
答案2
为了完整性,从 2.2 版开始,您可以返回这样的动态内容
http-request return status 200 content-type "text/plain" lf-string "Hello"
更多文档。