有什么关于什么时候应该使用roundrobin和什么时候使用的建议leastconn吗?
我roundrobin目前正在使用并观察到我的后端服务器的负载分布不均匀。当然可能还有其他问题,但我们想leastconn尝试一下,但由于它是一个关键任务服务器,我想在进行更改之前咨询其他经验。
有什么想法可以分享吗?
我ppa:vbernat/haproxy-1.5根据http://haproxy.debian.net/在 ubuntu 14.04 上通过 apt-get 安装了 haproxy 1.5
问题是它登录/var/log/syslog而不是/var/log/haproxy.log
设置基本上是默认设置:
/etc/haproxy/haproxy.cfg
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL).
ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL
ssl-default-bind-options no-sslv3
defaults
log global
mode http
option httplog
option dontlognull …Run Code Online (Sandbox Code Playgroud) 我有一个具有以下配置的 HTTP 场:
listen webfarm 10.254.23.225:80
mode http
balance roundrobin
cookie SERVERID insert
option httpclose
option forwardfor
option httpchk HEAD /check.txt HTTP/1.0
server webA 10.254.23.4:80 cookie A check
server webB 10.248.23.128:80 cookie B check
Run Code Online (Sandbox Code Playgroud)
我想添加一些选项,将特定 URI(即 /special)的所有请求转发到第三个 Web 服务器。我该怎么做?
我明白,要在 HAProxy 负载平衡设置上进行故障转移,您需要两台运行 HAproxy 的机器(并将其路由到多个网络服务器实例)。但是在这种情况下,比如说 abcd.com,我们如何将此流量拆分/路由到 2 个 IP 地址而不是一个?DNS 通常将域名解析为单个 IP。我们如何使用免费/廉价的工具/服务来做到这一点?
假设我有 2 个服务器 - SA 和 SB。是否可以将 HAProxy 配置为这样工作:
所有连接到 SA -> SA 关闭 -> HAProxy 将所有连接切换到 SB -> 直到 SB 没有关闭 - 没有连接到 SA,即使它再次启动 -> SB 关闭 -> HAProxy 切换到 SA.. .
简而言之,我希望 HAProxy 仅在当前服务器出现故障时切换。也许我应该使用 HAProxy 以外的其他东西?
因此,我配置了 Haproxy,因此日志记录将通过 rsyslog,并且现在全部转储到一个文件中。
它肯定会记录日志,因为我在启动时收到那些“开始”消息,但根本没有记录 HTTP 请求。我的配置有什么问题?
haproxy.cfg :
global
log /dev/log local0 debug
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
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
frontend webfront
option forwardfor
stats enable
stats uri /haproxy?statis
stats …Run Code Online (Sandbox Code Playgroud) 我想配置haproxy以绑定到所有接口(即和)上的atcp和tcp6套接字。0.0.0.0:80:::80
我能够通过以下设置达到这个目标:
listen web
bind :80 v4v6
bind :::80 v6only
Run Code Online (Sandbox Code Playgroud)
还有比这更短的方法吗?
虽然我希望它的行为有所不同,但v4v6关键字使haproxy 仅绑定到 v4 套接字。
我有 HAProxy 服务器的问题。我想在标头中转发客户端 IP。我几乎完成了,但是有一个有趣的案例,我无法弄清楚。我需要在标头的 2 个地方写入客户端 IP,在 X-CLIENT-IP 和 X-FORWARDED-FOR 标签中。
问题是:当我使用
option http-server-close
option forwardfor
Run Code Online (Sandbox Code Playgroud)
在目标服务器上,我在标题 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(client ip) 中看到但没有 x-client-ip 标题。
当我使用:
option forwardfor header X-Client-IP
option http-server-close
Run Code Online (Sandbox Code Playgroud)
在目标服务器上,我看到标头 X-CLIENT-IP=xxx.xxx.xxx(client IP) 但 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(HAProxy ip)
我需要在目标标头上看到 X-CLIENT-IP 和 X-FORWARDED-FOR 具有客户端 IP 的值。
我尝试混合配置,如
option forwardfor
option forwardfor header X-Client-IP
option http-server-close
Run Code Online (Sandbox Code Playgroud)
没有效果。我也不能安装任何模块。目标是IIS。
有任何想法吗?:(
似乎已经发布了与此类似的问题,所以我会继续问。
我正在从事一个项目,该项目可以从让两到四台服务器处理对后端 Web 服务的传入请求中受益。该服务不需要 SSL,但需要支持偶尔长时间运行的进程(最多 120 秒)。
该项目目前没有资金购买硬件负载均衡解决方案。
我以前使用 HAProxy 作为解决方案,发现它非常简单明了。是否有类似的 Windows 产品(服务器 2003 或 2008)提供类似的配置选项并作为轻量级服务运行?
由于我无法控制的原因,我无法设置 Linux 机器(物理或虚拟),因此我正在寻找可以部署在 Windows 机器上的行为。
我只能找到似乎属于这一类的 Perlbal。为了不保持这个开放性,我将归功于唯一的答案。
我的 haproxy.conf 中有以下几行:
acl valid_domains hdr(Host) -i mysite.com images.mysite.com docs.mysite.com admin.mysite.com
redirect location http://mysite.com/invalid_domain if !valid_domains
Run Code Online (Sandbox Code Playgroud)
我如何匹配任何子域?
我试过:
acl valid_domains hdr(Host) -i *.mysite.com
和:
acl valid_domains hdr(Host) -i [a-z]+.mysite.com
......但都没有奏效。
谢谢