HAProxy url beg/path_beg 似乎不起作用

标签 haproxy

<分区>

我的haproxy.cfg是这个

frontend go 127.0.0.1:8081
    timeout client 86400000
    acl ddos_log path_beg /ddoslogger/
    use_backend ddos_backend        if ddos_log
    use_backend normal_backend      if !ddos_log

backend ddos_backend
    mode http
    option httplog
    balance uri
    # Will add more servers if this works
    server  go11 localhost:8083 check
    server  go11 localhost:8083 backup

backend normal_backend
    mode    http
    option  httplog
    option allbackups
    default-server weight 50 slowstart 30s inter 3s fastinter 2s downinter 5s
    server  go10 localhost:8082 check
    server  go10 localhost:8082 backup

我计划做的基本上是针对“/ddoslogger/”的所有查询,我将使用平衡 uri 方法来选择服务器,而对于其他人则使用不同的负载平衡方法。两者都与同一组服务器通信(出于调试目的,我删除了其他服务器)

这是我在 Debug模式下向 haproxy 发出请求时得到的结果

00000000:go.accept(0004)=0006 from [127.0.0.1:58054]
00000000:normal_backend.clireq[0006:ffff]: POST /ddoslogger/a01324jlkas HTTP/1.1
00000000:normal_backend.clihdr[0006:ffff]: Host: localhost:8081
00000000:normal_backend.clihdr[0006:ffff]: Connection: keep-alive
00000000:normal_backend.clihdr[0006:ffff]: Content-Length: 204
00000000:normal_backend.clihdr[0006:ffff]: Cache-Control: no-cache
00000000:normal_backend.clihdr[0006:ffff]: Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
00000000:normal_backend.clihdr[0006:ffff]: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36
00000000:normal_backend.clihdr[0006:ffff]: Content-Type: application/x-www-form-urlencoded
00000000:normal_backend.clihdr[0006:ffff]: Accept: */*
00000000:normal_backend.clihdr[0006:ffff]: Accept-Encoding: gzip,deflate,sdch
00000000:normal_backend.clihdr[0006:ffff]: Accept-Language: en-US,en;q=0.8
00000000:normal_backend.clihdr[0006:ffff]: Cookie: <truncated>
00000000:normal_backend.srvrep[0006:0007]: HTTP/1.1 200 OK
00000000:normal_backend.srvhdr[0006:0007]: Content-Type: text/plain; charset=utf-8
00000000:normal_backend.srvhdr[0006:0007]: Content-Length: 0
00000000:normal_backend.srvhdr[0006:0007]: Date: Thu, 19 Sep 2013 03:55:19 GMT

对我做错了什么有什么建议吗?

最佳答案

通过移动解决了这个问题

mode http
option httplog

到前端服务,现在看起来像这样:

frontend go 127.0.0.1:8081
    timeout client 86400000
    mode http
    option httplog
    acl ddos_log path_beg /ddoslogger/
    use_backend ddos_backend        if ddos_log
    use_backend normal_backend      if !ddos_log
.
.
.

以防其他人为此苦苦挣扎!

关于HAProxy url beg/path_beg 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886044/

相关文章:

ssl - 让我们在 GKE 上使用 HApRoxy 进行加密

networking - 尝试登录laravel项目时504网关超时

kubernetes - haproxy 作为 kube-apiserver 的负载均衡器

tomcat - tomcat知道haproxy是代理服务器吗?

haproxy 心跳,后端基于 http post

nginx - Kubernetes ingress-nginx 保留源 IP

architecture - Haproxy 在 Varnish 前面还是反之亦然?

linux - HAProxy 和 LXD 容器 - 基于裸域、特定子域和所有其他子域的路由

具有持久 TCP 服务器套接字的 Java 应用程序高可用性/故障转移

Haproxy 503 服务不可用。没有服务器可以处理此请求