我已经使用WordPress Multisite的HAProxy设置了第7层负载平衡器。
我希望有任何与WordPress后端相关的东西可以从一组特定的服务器上得到服务(可以是/wp-admin/
) 同时从另一组服务器为WordPress网站的前端提供服务。
我需要调整一下吗wp-config.php
要更改cookie名称以使其包含服务器ID吗?或者在WordPress cookie中检查服务器ID?我觉得问题#1和#2与cookie有关。我不知道为什么会发生#3。我的服务器一点也不落后,应该能够快速响应。
With my current configuration I\'m facing a few problems here:
<它似乎确实在将我连接到相应的管理服务器。但是,在仪表板中放置一段时间后。WordPresslogin表单弹出,要求我再次登录。
大多数管理页面都可以正常工作,但偶尔也会弹出WordPress登录,要求我再次登录。
每隔一段时间,我就会收到“504网关超时-服务器没有及时响应”
Here\'s what my configuration looks like:
defaults
log global
mode http
option httplog
option dontlognull
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
retries 3
option redispatch
maxconn 2000
timeout connect 5000
timeout check 5000
timeout client 30000
timeout server 30000
frontend http-in
bind *:80
option httplog
option http-server-close
acl has_domain hdr(host) -m found
acl has_www hdr_beg(host) -i www.
use_backend live_servers if has_domain has_www
acl has_admin path_beg /wp-admin
acl has_login path_beg /wp-login.php
acl has_custom_login path_beg /manage
use_backend admin_servers if has_admin or has_login or has_custom_login
default_backend live_servers
backend live_servers
mode http
stats enable
stats uri /haproxy?stats
balance roundrobin
option httpclose
option forwardfor
cookie SERVERID insert indirect nocache
server s1 1.1.1.1:80 check cookie s1
server s2 2.2.2.2:80 check cookie s2
backend admin_servers
mode http
stats enable
stats uri /haproxy?stats
balance roundrobin
option httpclose
option forwardfor
cookie SERVERID insert indirect nocache
server s1 1.1.1.1:80 check cookie s1
我愿意为此提供相当大的悬赏。如果我缺少任何设置,或者您认为可以改进我的配置,请在回答中提供完整的配置,包括所有适当的设置。
编辑:我目前正在使用HAProxy 1.6。并且愿意升级到最新版本,如果这是获得有效解决方案所需要的。