问题标签 [haproxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
5603 浏览

ruby-on-rails - 向特定端口发送重定向

我有一个 Rails 应用程序服务器正在侦听端口 9000,并通过 haproxy 调用。我从该服务器发出的所有重定向都通过端口 9000 重定向回来,而它们应该在端口 80 上发送回来。

我正在使用 haproxy + nginx + 乘客的组合。有没有办法确保所有重定向都通过端口 80 发送,而不管实际服务器正在侦听的端口是什么?

我不在乎它是否改变了 haproxy、nginx、Passenger 或 Rails。除非另有说明,否则我只需要确保大多数请求都被发送回端口 80。

谢谢!

0 投票
2 回答
14326 浏览

haproxy - haproxy acl 在 https/tcp 模式下不工作

我遇到了一些问题,似乎我无法让 acl 在 tcp 模式下工作,
一切都在 http 模式下工作。
这是我的配置。

不要关注 ip 10.10.10.10 因为我已经隐藏了我原来的那个。您能否让我知道为什么 https 不起作用,http 前端/后端 acl 规则工作得很好。

干杯

0 投票
5 回答
4164 浏览

regex - Regex pattern to parse HttpLog format

I am looking for a regex pattern matcher for a String in HttpLogFormat. The log is generated by haproxy. Below is a sample String in this format.

An explanation of the format is available at HttpLogFormat. Any help is appreciated.

I am trying to get the individual peices of information included in that line. Here are the fields:

  1. process_name '[' pid ']:'
  2. client_ip ':' client_port
  3. '[' accept_date ']'
  4. frontend_name
  5. backend_name '/' server_name
  6. Tq '/' Tw '/' Tc '/' Tr '/' Tt*
  7. status_code
  8. bytes_read
  9. captured_request_cookie
  10. captured_response_cookie
  11. termination_state
  12. actconn '/' feconn '/' beconn '/' srv_conn '/' retries
  13. srv_queue '/' backend_queue
  14. '{' captured_request_headers* '}'
  15. '{' captured_response_headers* '}'
  16. '"' http_request '"'
0 投票
2 回答
1725 浏览

haproxy - HAProxy 功能

谁能告诉我 HAproxy 的实际工作原理。我搜索了很多,但我想要一个简单易懂的关于整体 HAproxy 的解释。

0 投票
1 回答
1084 浏览

rabbitmq - 在rabbitmq中配置haproxy

我想知道如何配置 haproxy 和 rabbitmq。我想让我的 rabbitmq 更具可扩展性和可用性....

任何链接任何人有任何想法

0 投票
4 回答
26851 浏览

http - 现代的http保持活力

所以根据haproxy作者,谁知道一两件事关于http:

发明 Keep-alive 是为了在 CPU 慢 100 倍时减少服务器上的 CPU 使用率。但是没有说的是持久连接会消耗大量内存,而除了打开它们的客户端之外,任何人都无法使用。在 2009 年的今天,CPU 非常便宜,内存仍然受限于架构或价格的几 GB。如果一个站点需要保持活动,那就是一个真正的问题。高负载站点通常禁用保持活动以支持最大数量的同时客户端。没有 keep-alive 的真正缺点是获取对象的延迟略有增加。浏览器将非保活站点上的并发连接数加倍以弥补这一点。

(来自http://haproxy.1wt.eu/

这符合其他人的经验吗?即没有keep-alive - 结果现在几乎不明显吗?(可能值得注意的是,使用 websockets 等 - 无论保持活动状态如何,连接都保持“打开” - 对于响应速度非常快的应用程序)。对于远离服务器的人来说效果是否更大 - 或者在加载页面时从同一主机加载许多工件?(我认为 CSS、图像和 JS 之类的东西越来越多地来自缓存友好的 CDN)。

想法?

(不确定这是否是 serverfault.com 的问题,但在有人告诉我把它移到那里之前,我不会交叉发布)。

0 投票
4 回答
39468 浏览

node.js - HAProxy + WebSocket 断开连接

我正在使用 HAProxy 将子域上的请求发送到 node.js 应用程序。

我无法让 WebSockets 工作。到目前为止,我只能让客户端建立 WebSocket 连接,但很快就会出现断开连接。

我在ubuntu上。我一直在使用各种版本的socket.ionode-websocket-server。客户端是最新版本的 Safari 或 Chrome。HAProxy 版本是 1.4.8

这是我的 HAProxy.cfg

我已经搜索了网络和邮件列表,但无法获得任何建议的解决方案。

(ps这可能是因为服务器故障,但是关于SO还有其他HAProxy问题,所以我选择在这里发帖)

0 投票
1 回答
296 浏览

ruby-on-rails - 使用运行分布式服务(HAProxy、Apache、Ruby on Rails)的多台服务器时如何配置登录

我有 3 台服务器运行一个网站。我现在需要实现登录系统,但我遇到了问题,因为用户会根据它连接到的服务器获得不同的行为(登录或注销)。

我在 Rails 中使用 Memcache 进行会话存储 - config.action_controller.session_store = :mem_cache_store

ActiveSupport::Cache::MemCacheStore.new("server1","server2","server3")

我认为第二行将保持缓存同步或类似的东西......

每台服务器都有自己的数据库,1 个主服务器,2 个从服务器。我曾尝试在 sql 存储中进行会话,但这确实会伤害 sql 服务器,并且复制负载变得非常沉重。

有没有一种简单的方法可以说,将这个 Memcache 用于所有 3 个服务器上的所有会话存储?

这能解决我的问题吗?

我会很感激的。

0 投票
2 回答
3492 浏览

nginx - 私有 IP 的 HAProxy 和 NGINX 问题

我有 HAProxy 设置,将它指向我的应用服务器的公共 IP 没有问题,但我无法让它指向私有 IP。我收到“503 Service Unavailable 没有服务器可用于处理此请求”。错误

这些是我的设置:

haproxy.cfg

nginx.conf(用于应用服务器)

0 投票
1 回答
7028 浏览

linux - HAProxy TCP 会话计数停止在 400

我正在尝试使用 HAProxy 进行 TCP 负载平衡。连接进入单个 IP 上的端口 X,然后 HAProxy 使用“leastconn”平衡方法将这些连接平衡到后端,以保持连接数量均匀。这是在 Ubuntu 10.04 x64 上。

我已将内核配置中的 file-max 设置为 700,000。我已将每个进程的 ulimit 提高到大约 400,000。我已经将 haproxy 配置中的 maxconn 设置为 200,000。它报告看到这个 maxconn 很好:

此前端负载平衡跨 5 个后端系统。但是,当每个后端达到 400 个会话时,它就会停止平衡,只是推迟额外的连接。我可以通过“smax”统计数据看到这一点。您会注意到,每个会话的最大会话数为 400,会话的最大总数为 2000:

这个限制来自哪里?我真的很想将数十万个连接压缩到这个 haproxy 实例中。(机器有网络,CPU和RAM跟上)