HAProxy - 我可以在监视器响应上设置标头吗?

时间:2018-02-22 18:05:05

标签: haproxy

我想在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 documentationhttp-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>

1 个答案:

答案 0 :(得分:1)

不,你不能。

监视请求在很早的阶段就被处理,没有办法在监视请求的响应中添加标题。