我想在HAProxy监视器响应上设置自定义标头。这是我的测试配置文件:
defaults
mode http
timeout client 300000
timeout server 300000
timeout connect 5000
listen header_test
bind :60001
mode http
no log
monitor-uri /
http-response set-header My-Header some-value
根据1.8 documentation,http-response
部分支持listen
。但是,当我GET /
使用此配置时,我看不到我的标题:
➜ ~ curl -v localhost:60001
* Rebuilt URL to: localhost:60001/
* Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to localhost (127.0.0.1) port 60001 (#0)
> GET / HTTP/1.1
> Host: localhost:60001
> User-Agent: curl/7.54.0
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Cache-Control: no-cache
< Connection: close
< Content-Type: text/html
<
<html><body><h1>200 OK</h1>
Service ready.
</body></html>
* Closing connection 0
我能够使用具有相同http-response
子句的常规前端/后端设置来查看标头。
在http-response
部分listen
中使用monitor-uri
是否有效?如果没有,是否有另一种方法可以在监视器响应上设置标题?
使用HAProxy 1.8.3:
➜ ~ haproxy -v
HA-Proxy version 1.8.3-205f675 2017/12/30
Copyright 2000-2017 Willy Tarreau <willy@haproxy.org>
答案 0 :(得分:1)
监视请求在很早的阶段就被处理,没有办法在监视请求的响应中添加标题。