2017-07-29 63 views
2

我正在使用haproxy來負載平衡並獲得我的(RESTFUL)API的高可用性,我面臨的問題是:我無法向REST請求發送API。 我的意思是haproxy默認不支持REST API,我認爲我應該配置一個ACL以使其正常工作,但我找不到有關配置RESTFUL支持併爲haproxy啓用http重寫規則的任何信息。配置Haproxy以允許HTTP CRUD(重寫規則)

我的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

SO是編程問題,不是服務器配置的問題。 ServerFault.com將是更好的地方這樣的問題。 – Barmar

+0

@Barmar謝謝你的指導。我應該在這裏刪除我的問題嗎? –

+0

您可以將其標記爲由主持人遷移。 – Barmar

回答

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