我正在使用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
答案 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