在Nginx中,我们可以像这样返回一个特定的状态码给URL前缀。 location /api { return 200; } 我们怎样才能达到同样的Haproxy? 通过Haproxy ACL走了,但找不到任何。
我正在寻找一个设置,我将有多个地区的服务器和数据库(数据不跨区域复制,但独立)。 理想的stream程是: – 用户向api.domain.com发出请求 – 代理/负载均衡器确定哪个位置包含用户数据/用户相关数据(理想情况下,对照用户会话caching) – 代理将请求路由到location1.api.domain.com – 理想情况下,location1.api.domain.com也将通过此服务进行负载平衡,或者独立进行(例如AWS Beanstalk) 我正在看HAProxy似乎支持自定义路由,但你有围绕这样的设置或一些文章/自定义路由的例子有任何提示? 如果这是一个很好的解决scheme。 相关的问题build议使用HAProxy: 如何为自定义路由configuration反向代理/负载均衡器
我在CentOS 7上运行了2个带有PCS的HAProxy 1.6.9实例。 我的主节点上的HAProxy在周末突然失败。 haproxy的systemctl状态给了我们一个失败的状态。 重新启动haproxy工作得很好,服务又回来了。 我现在试图了解哪里出了问题,并确保它不会再发生。 这是journalctl的结果: [root@main-lb ~]# journalctl –utc -u haproxy –since yesterday — Logs begin at Thu 2017-07-06 05:39:42 GMT, end at Sun 2017-08-20 17:36:05 GMT. — Aug 20 07:20:01 main-lb systemd[1]: Reloaded SYSV: HA-Proxy is a TCP/HTTP reverse proxy which is particularly suited for high availability environments.. Aug 20 07:20:01 […]
我们有一个haproxy设置与多个后端浏览某个path时,我们需要做基于客户端的SSL身份validation,因此我们需要为它设置一个不同的后端。 任何想法如何需要configurationhaproxy的pathservice/ws发送连接到不同的后端。 提前致谢
我有一个普通的SSL使用普通的Web服务器,但在一个特定的URL我需要基于客户端证书的身份validation。 据我所知,只有两个不同的前端才能实现。 现在的问题是,我可以redirect到一个不同的前端基于path的请求?
我想要一个acl来允许我根据哪个IP地址是stream量被发送到的variables来设置variables。 恩。 frontend my-frontend bind 1.2.3.4:80 bind 5.6.7.8:80 acl ip1 dst_ip -eq 1.2.3.4 我想这样做,而不是多个后端的原因是,我有许多其他ACL规则,我不想有多个副本。
在一天的特定时间,我想更改请求的后端。 例如,在上午12:00和上午2:00(UTC)的时间段,我想使用一个后端,但通常使用我的default_backend。 恩。 frontend my-frontend bind 1.2.3.4:80 acl maint req.time -gt 0h -lt 2h use_backend maintenance-backend if maint default_backend normal-backend
脚本 对于我的应用程序,我想有高度可用的MySQL / MariaDB设置。 由于自动数据冗余和即时可用性,我发现Galera Cluster在这种情况下很有趣。 我的目标是这样的: 隐藏应用程序的集群复杂性(集群可以变得更大,并且改变拓扑添加一些asynchronous节点) 透明地处理应用程序之外的故障转移 为某些常见的情况写入和读取同步实例提供负载均衡, 仍然允许应用程序访问特定的节点,例如针对分析的顺序读取进行优化的例如asynchronous节点。 如果这个节点失败,我希望应用程序故障转移到标准的Galera实例,透明地保持一切正常运行。 做到目前为止 我已经阅读了许多关于如何设置高可用性和负载平衡的MySQL集群的HAProxy和Keepalived串联的文章,但没有一篇解释了为什么要使用这个二重奏的MySQL / MariaDB / Galerascheme。 一些例子: HAProxy + Keeplived,任何MySQL CE集群+ Galera: https ://severalnines.com/resources/tutorials/mysql-load-balancing-haproxy-tutorial HAProxy + Keepalived,Galera集群: http : //www.fromdual.com/making-haproxy-high-available-for-mysql-galera-cluster HAProxy + Keepalived,asynchronous集群: https : //www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing–3 仅限HAProxy: https : //www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-mysql-load-balancing–3 当涉及到虚拟IP分配时,它由Keepalived根据自己的可脚本化健康检查器和VRRP 。 Keepalived也支持负载均衡,实现了多种algorithm,通过这些algorithmLB到目的地: https ://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Load_Balancer_Administration/ch- 初始设置-VSA.html HAProxy为HTTP提供了一些高级function,但这不是我的情况。 问题 在Keepalived for Keepalived for MySQL中使用HAProxy的好处是什么?
我们拥有集群环境和集群中的实例,所以CLUSTER_ABC可以有两个独立的实例。 我们有haproxy服务请求,如果我们移动集群中的实例,我们只是更新ha代理configuration文件。 我们有haproxyconfiguration如下 mode http option http-server-close balance roundrobin option redispatch backend CLUSTER_ABC cookie PROXY_CLUSTER_ABC insert indirect nocache option httpchk GET <nil> HTTP/1.0 server ice-s-CLUSTER_ABC-0 <host1>:<port1> cookie ice-sCLUSTER_ABC-0 server ice-s-CLUSTER_ABC-1 <host2>:<port2> cookie ice-sCLUSTER_ABC-1 它按预期工作 – 它使用循环法在集群中查找实例,然后一旦发现实例使用cookie,客户端就可以坚持这个实例。 但是,有些客户端希望平均分配群集中的实例的负载,而不是始终坚持同一个实例。 似乎唯一的方法来实现这一点,而不需要改变configuration文件是让客户端删除由haproxy设置的cookie。 有没有另外一种方法让客户select是否有粘性会话,比如重写头文件或其他东西?
我正在使用haproxy 1.5.18在起搏器集群上运行Centos 7。 我可以打到我的网站的HTTPS版本没有问题,但是,当我尝试击中http站点时,我得到一个503错误。 我最终会喜欢httpredirect到https为最终用户的易用性。 redacted /etc/haproxy/haproxy.cfg: #——————————————————————— # Example configuration for a possible web application. See the # full configuration options online. # # http://haproxy.1wt.eu/download/1.4/doc/configuration.txt # #——————————————————————— #——————————————————————— # Global settings #——————————————————————— global # to have these messages end up in /var/log/haproxy.log you will # need to: # # 1) configure syslog to accept […]