Articles of haproxy

没有路线主持harpoxy

在尝试运行haproxy服务器时,遇到以下问题:“服务器节点/ backend1已closures,原因:第4层连接问题,信息:”没有路由到主机“,检查持续时间:0毫秒,0活动和0备份服务器。活动的会话数量为0,队列中剩余的数量为0,后端节点没有可用的服务器。 在运行命令“Service haproxy status -l”时会发生这种情况。 它说haproxy.service被加载并运行。 以下是我的haproxy.cfg文件: global log /dev/log local0 log 127.0.0.1 local1 notice maxconn 256 user nobody group haproxy daemon defaults log global mode http option httplog option httplognull retries 3 option redispatch maxconn 2000 timeout connect 5000 timeout client 50000 timeout server 50000 frontend localnodes bind *:5004 mode http default_backend nodes […]

将haproxy日志发送到cloudwatch

我们正在ECS上运行haproxy容器,并努力设置日志logging。 ECS容器定义包含AWS文档中列出的日志configuration "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "haproxy_logs", "awslogs-region": "us-east-1" } 而haproxy.cfg有一些默认的configuration设置 – global log 127.0.0.1 local1 notice defaults log global 但是,我们只是在云手表中获得单个重复的日志条目 – <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds 没有http请求的logging。 而我在haproxy容器本身中找不到任何日志。

JUNO Openstack仪表板不工作,而Ha-Proxy显示Memcached服务的可用性降低

当Ha-Proxy显示Memcached服务的可用性降低时,Openstack仪表板不工作。 我的设置涉及到2个HA代理服务器,Keepalived提供VIP,2 Galera集群[MariaDB] MYSQLDB,2个控制器[AMQP,Keystone,Glance,Cinder,Nova-Controller,Dashboard:Services Installed],2个Ceph节点。 而configurationCOMPUTE&NEUTRON-networking节点。 我成功地创build了一个GLANCE Image&CINDER Volume:它们都使用CEPH作为后端存储 当我使用pipe理凭据访问dasboard时,Dashboard显示以下消息: Something went wrong! An unexpected error has occurred. Try refreshing the page. If that doesn't help, contact your local administrator. Something went wrong! An unexpected error has occurred. Try refreshing the page. If that doesn't help, contact your local administrator. Apache的错误日志被粘贴在这个链接 Memcached HA代理configuration如下: listen memcached […]

Haproxy.cfg中的URLredirect

我正在尝试在我的haproxy.cfg文件中redirect一个URL,不知道从哪里开始。 什么我的目标是什么时候我去https://网站/文本它被redirect到https://网站/#/文本/对话和语音同样的事情。 我到底该怎么做? 我正在使用HAProxy版本1.5.14。 下面是我(尝试),但它不工作,因为我想要的。 frontend HTTPS_IN acl host_connect hdr(host) -i website.com acl path_voice path_beg -i /voice redirect location https://website/#/voice/voicemail if path_voice acl path_text path_beg -i /text redirect location https://website/#/text/conversation if path_text use_backend voice if path_voice use backend voice if host_connect use_backend text if path_text 我在正确的道路上呢? 如果没有,你们可以帮我吗? 谢谢!

haproxy可以logging未知的头文件吗?

我需要看看某些请求的所有标题。 我一直在阅读haproxy手册,我可以使用捕获logging我知道的任何头。 但是我想看到所有的标题,我不知道该应用程序收到。 这可能与haproxy的日志选项? 某种正则expression式或迭代方法? 我正在使用haproxy 1.6 谢谢。

当服务器场中的一台服务器closures时,haproxy不会负载平衡

我有三个后端服务器使用HAProxy进行负载平衡。 当所有3个这些都是我看到每个服务器Id(1,2,3)连续在HTTPS响应。 IE 1,2,3,1,2,3。 正如所料。 但是,如果我拿一个后端服务器,我只能看到一个服务器ID重复。 即如果我把服务器1下来,然后我只能看到服务器ID 2(2,2,2,2 …),当我应该看到服务器ID的2,3(2,3,2,3,2,3 … ..) 我已经尝试了最简单和循环平衡,并且都performance出相同的行为 为什么HAProxy以这种方式performance? 如何修改我的HAProxyconfiguration以在剩余的活着的后端服务器之间进行负载均衡? HA代理版本是1.6.9。 HA代理服务器是Ubuntu 14.04。 所提供的HTTP是一个通过HTTPS返回一些JSON的API。 它是一个平静的API,所以不需要或不需要会话持久性。 haproxy的configuration如下。 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 maxconn 3072 # Default SSL material locations ca-base /etc/ssl/certs crt-base […]

HAProxyconfiguration

在我能find的所有用例中,HAProxy运行在与内容服务器不同的服务器上,例如: 实例1 – 负载均衡器主机名:haproxy IP:192.168.205.15 实例2 – Web服务器1主机名:webser01 IP:192.168.205.16 实例2 – Web服务器2主机名:webserver02 IP:192.168.205.17 是否有可能在内容服务器上运行HAProxy(和nginx一起)以及configuration如何?

Haproxy – 在Heroku上使用monitor-uri

我们在heroku上使用haproxy来在我们所有的各种微服务(也在heroku上)之间进行路由,所以我们只需要configuration中的一个url。 我试图用这个技巧: http://discourse.haproxy.org/t/how-do-i-serve-a-single-static-file-from-haproxy/32 提供一个robots.txt来禁止拖拉我们的API(所有auth保护,这是为了性能,而不是安全原因)的一切。 这似乎是这样做的最轻量级的方式,并且它在本地运行得非常好(通过“heroku local”启动)。 但是,在我们实际的heroku环境中使用/robots.txt会导致503服务器响应中断。 haproxy.cfg snippet: frontend http-in bind *:"${PORT}" monitor-uri /robots.txt errorfile 200 "${STATIC_PATH}/robots.http" errorfile 503 "${STATIC_PATH}/robots.http" 其中STATIC_PATH在heroku中定义为“/ app / static”。 静态/ robots.http: HTTP/1.0 200 Found Cache-Control: no-cache Connection: close Content-Type: text/plain User-Agent: * Disallow: / 我知道haproxy正在查找robots.http,因为如果我将env var设置为无效path,haproxy拒绝启动。 从文档中,它应该在内存中保存这个响应,并在monitor-uri匹配时提供服务。 如果删除“errorfile 200”这一行,haproxy将返回其默认服务器OK页面,所以monitor-uri正确匹配,200是它试图返回的响应。 “错误文件503”条目是因为这个: http : //comments.gmane.org/gmane.comp.web.haproxy/19803,但没有什么区别。 还有其他build议吗? 其他人之前尝试过吗? 谢谢,B

使HAProxy将请求重新转发到发生故障的服务器

我想知道是否有方法与HAProxy重新发送失败的请求到另一台服务器,如果原始服务器closures。 我们在多个HAProxy实例后面的多个服务器上运行REST API。 没有平衡的亲和力,平衡纯粹是round-robin 。 要升级一个服务器,我们可以重新启动它,并且由于运行状况检查,HAProxy通常不会将任何数据发送到此服务器。 但是:如果服务器在两次运行状况检查之间closures,并且HAProxy将HTTP请求转发到该服务器,但不知道该服务器已closures – 该请求显然失败。 有没有办法configurationHAProxy的方式,它会注意到连接断开,并在另一台服务器上重试? 或者至less让HAProxy直接将服务器标记为不健康,所以我们在转换过程中只放宽一个请求而不是多个。 HAProxy在Docker容器中运行,服务器也是Docker容器。

使用HaProxy在引擎盖下添加凭据

上下文 我为(开源)代码质量分析工具(SonarQube)编写了开源插件 。 这个插件添加了一组REST服务,生成徽章作为SVG图像。 该工具可以通过http或https访问(取决于它的安装方式)。 插件所添加的REST服务具有依赖于对未authentication的用户不可见的数据的特殊性,并且这些数据由其他服务提供(例如项目质量门户状态,指标)。 因此,它们要求用户在调用提供所需数据的服务(这是不现实的,因为URL意图被插入到<img>标签中)之前被authentication,或者在URL中提供凭证如下: http://<SECURITY_TOKEN>@<private_server_ip>:<port>/<context_root>/api/xyz_service 要么 https://<SECURITY_TOKEN>@<private_server_ip>:<port>/<context_root>/api/xyz_service 在我的情况下,能够访问这些徽章生成服务,而不被authentication是合法的,用户接受(而不是要求)。 不过,我有两个问题: 在大多数情况下, <SECURITY_TOKEN>甚至<private_server_ip>都不能向外界透露。 在某些情况下,即使公开的<SECURITY_TOKEN>是可以接受的,但它不起作用,因为有些网站(如GitHub的降价)忽略了<AUTH>@<SERVER>语法,并且在调用url时不传递<AUTH> 。 不幸的是,到目前为止,SonarQube开发团队拒绝(选定的)公共REST服务在未经validation的情况下调用私人服务。 没有其他方式提供安全令牌。 我想实现的 我想提供指导,帮助人们在SonarQube前面设置一个HaProxy反向代理,对于发送给每个请求的请求: http://<public_server_ip>:80/api/xyz_service …将它转发到: http://<SECURITY_TOKEN>@<private_server_ip>:<port>/<context_root>/api/xyz_service …或(如果使用https后端)将转发到: https://<SECURITY_TOKEN>@<private_server_ip>:<port>/<context_root>/api/xyz_service 这将允许人们使用我的徽章扩展(或任何其他扩展)依赖于安全的REST服务,同时保持服务器的安全令牌和内部IP秘密(换句话说,这将是一个干净的解决上述问题) 。 请注意,参数可以提供给服务。 到目前为止,我只使用GET HTTP方法。 我的请求 我从来没有使用HaProxy,所以我不知道如何去做,所以: 是否有可能实现我所描述的HaProxy? 你能帮我么? 你能给我提供一个示例简约configuration吗? 在此先感谢您的帮助! (我很乐意列出帮助我解决这个问题的人,作为项目的贡献者) 最好的祝福, 米歇尔