我正在尝试使用HAproxy将旧的ASP请求redirect到我们的ASP服务器,如下所示: global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4096 user haproxy group haproxy daemon nbproc 2 defaults mode http log global option httplog option dontlognull option http-server-close option forwardfor except 127.0.0.0/8 option redispatch retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout http-keep-alive 10s […]
在几乎没有任何负载的情况下(可能有几个人每分钟触碰一次服务器),我们有一些超时令我疯狂。 我们使用nginx将非SSLredirect到SSL,终止SSL,然后将请求反向代理到haproxy,将其发送到我们的应用服务器之一。 我们的应用程序服务器运行乘客(导轨)+ nginx。 我们有一个mysql master + slave和一个memcached实例,我们最近开始使用它来进行一些查询。 这是我在nginx错误日志的第一层看到的一个典型错误,它将请求传递给haproxy(详细信息模糊处理): 2012/02/25 06:42:15 [error] 7838#0:* 60797上游超时(110:连接超时),从上游读取响应头时,client:1.2.3.4,server:domain.com,request: “GET / api / v1 / some_route HTTP / 1.1”,上游:“ http://127.0.0.1:82/api/v1/some_route ”,主机:“domain.com” 我不确定它是haproxy,乘客+ nginx,rails,memcached。 一个经验数据表明,它们似乎是一堆发生的,也就是说,如果我们有一个超时,我们看到其他几个,那么它们就会消失。 任何帮助将不胜感激。 很高兴发布任何configuration或任何有用的信息。
我试图根据一些条件重写一个URI以及主机头。 这是我想要完成的一个例子: 我请求http://sub1.example.com/test/files/other if hdr_beg(Host) sub1.example.com and path_beg /test rewrite host header to sub2.example.com rewrite URI to /files/other (in other words, remove test from the URI) 最终的结果应该指向sub2.example.com/files/other而用户不知道。 我已经尝试了以下configuration: acl host_beg_sub1 hdr_beg(Host) sub1.example.com acl path_beg_test path_beg /test rewrite host header if host_beg_sub1 path_beg_test rewrite URI if host_beg_sub1 path_beg_test 显然,这不能按预期工作,因为第二次重写不会在主机头被修改之后触发。 因为有其他stream量的URI可能以testing开始,所以我不能无条件重写。 提前致谢!
您好,由于我的控制之外的原因,我需要负载平衡两个服务器,在IIS上运行非虚拟主机的应用程序。 通常在HAProxy我会负载平衡服务器(Apache,tomcat等),如下所示: acl is_www_example_com hdr_end(host) -i www.example.com use_backend www_example_com if is_www_example_com backend www_example_com balance roundrobin cookie SERVERID insert nocache indirect option httpchk HEAD / HTTP/1.0 option httpclose option forwardfor server node1 192.168.1.1:80 cookie node1 server node1 192.168.1.2:80 cookie node1 它将路由到节点1和节点2服务器并提供虚拟主机站点。 如果我需要路由到www.example.com/application/data 如果可能的话,我怎样才能做到这一点?
在haproxyconfiguration文件中,有一个叫做maxconn的指令。 这个指令是指同时连接吗? 或者一旦连接redirect到服务器,它将被closures? 例如,如果maxconn设置为4000,并且在我的整个网站中有10k人,那么该指令是否会限制用户数量? 谢谢
我一直在寻找支持SSL的服务器集群的不同设置,我想用你的标准来衡量我的想法。 要求: 群集中的所有服务器应该位于相同的完整域名下。 (http和https) 路由到子系统是在HA代理中进行URI匹配。 所有URI都支持SSL支持。 希望: 集中路由规则 —<—-http—–<– | | Inet –>HA–+—https—>NGInx_SSL_1..N | | +—http—> Apache_1..M | +—http—> NodeJS 想法:configurationHA将所有SSLstream量(mode = tcp,algorithm = Source)路由到一个将httpsstream量转换为http的NGInx集群。 将来自NGInx的httpstream量重新传递给HA,以实现基于HAconfiguration的负载平衡。 我的问题很简单:这是根据以上要求进行configuration的最佳方式吗?
可能重复: 订购:1. nginx 2.清漆3. haproxy 4.networking服务器? 你能告诉我,如果下面的configuration看起来好像服务从我的Web服务器传递的页面。 有一些困难吗? 请求 – > HaProxy – > Varnish – > Nginx(前端Web服务器)。 在我的负载平衡器(haproxy)或我的Web服务器上安装清漆是否更好? 欢呼和感谢!
编辑 – 我改变了这个问题,因为我错了错误来自哪里 我在使用Openam部署时遇到了一些问题,并想知道您是否可以提供帮助。 我的设置如下:2个OpenAM服务器设置在负载平衡器(HAproxy)的后面。 负载平衡器设置在两个反向代理(nginx)之后。 两个反向代理服务器在另一个负载均衡器(haproxy)之后。 所以一个请求将通过Haproxy> nginx> Haproxy> openam 我可以通过反向代理访问OpenAM Web控制台,而不会出现问题。 一切工作正常在这个水平。 问题是当我通过nginx serevrs前面的负载均衡器访问openam的时候。 我的nginx服务器在端口443上运行。当我通过haproxy> nginx> haproxy> openam访问openam时,nginx使用端口443redirect浏览器。这是发生问题的地方。 我访问login页面的负载均衡器url是http:/ loadbalancerHostname:8090:openam / Login / UI。 我可以成功login。 但是,在login后更改为http:/ loadbalancerHostname:443:openam /。 港口不应该改变。 为什么nginx改变端口,我怎么能阻止它? nginxconfiguration: server { listen 443; server_name oamlb1; location / { proxy_pass http://oamlb1.mydomain.com:8080; proxy_set_header X-Real-IP $remote_addr; } location /openam { proxy_pass http://oamlb1.mydomain.com:8080; proxy_set_header X-Real-IP […]
我会问你是否HAProxy负载平衡器可以实时注入(不重新启动平衡器重新configuration),而不会丢失连接。
我想在我的Web服务器上设置_SERVER [“HTTPS”] phpvariables为yes。 实际上,httpsstream量来到stunnel转发到haproxy将其转发到我的networking服务器运行在nginx下。 试图在haproxy.cfg中添加这个: reqidel ^HTTPS: reqadd HTTPS:\ yes 但是,而不是清除HTTPS,并将HTTPS添加到是,它会添加一个新的variables: _SERVER [ “HTTP_HTTPS”] 任何想法? 问候,