配置Haproxy以允许http CRUD(重写规则)

时间:2017-07-29 05:27:23

标签: php laravel rest load-balancing haproxy

我正在使用haproxy来实现负载均衡并获得我的(RESTFUL)API的高可用性,我面临的问题是:我无法向API发送REST请求。 我的意思是haproxy默认情况下不支持REST API,我认为我应该配置一个ACL来使它工作,但我找不到任何关于配置RESTFUL支持和为haproxy启用http重写规则的内容。 / p>

MY API基于laravel框架。

例如,如果我点击192.168.1.139/login,则会收到404错误消息。唯一有效的路线是/,其中显示用户“您尚未登录”。消息。

这是haproxy配置:

listen http_front
        bind *:80
        mode http
        stats enable
        stats uri /haproxy?stats
        option httpclose
        option forwardfor
        #acl api_exp hdr(host) -i domain_name.com
        #use_backend api_servers if api_exp
        default_backend api_servers

backend api_servers
        balance roundrobin
        server replica1 192.168.100.110:80 check
        server replica2 192.168.100.111:80 check

1 个答案:

答案 0 :(得分:0)

这有点奇怪,但我用这个配置解决了我的问题:

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    retries 3
    option redispatch
    timeout connect  5000
    timeout client  100s
    timeout server  100s


listen ha-www
bind 0.0.0.0:80
    mode http
    stats enable
    stats uri /haproxy?stats
    stats realm Strictly\ Private
    balance roundrobin
    option httpclose
    option forwardfor
    server app-www-1 192.168.100.110:80 check
    server app-www-2 192.168.100.111:80 check