Articles of haproxy

在Windows Server中扩展RServe部署?

我的同事说在Windows Server上不build议使用RServe 。 但是,似乎RServe正在用于分析工具,如Tableau与Windows Server。 在Windows中缩放Rserve时存在潜在的问题,例如缺lessHAproxy(然后Microsoftnetworking负载平衡可能会替代它)。 我对此感到困惑:RServe可以在Windows上使用,并在哪个规模? 简而言之: 如何在Windows Server中扩展R部署? RServe是正确的方法吗?

haproxy'd mysql客户端挂起尝试连接

我试图使用github的工程博客中概述的方法为mySQL从群集build立一个haproxy LB。 我有xinetd检查工作,但是当我试图通过mysql客户端通过haproxy端点login到后端主机,客户端只是无限期地挂起。 curl似乎到达后端主机,但我看到在响应中的“数据包乱序”: [me@jump01 ~]$curl haproxy01.domain:3306/check-lag 5.6.32-78.1-log m-}1w)`*O0 ! B:>da85>w`[)mysql_native_password! #08S01Got packets out of order 这里是这个代理的相关haproxy.cfg的一个要点 。 不知道我在这里失踪,这是防止mysql客户端到后端。

基于通配符DNS的Haproxy粘性

我得到了Haproxy LB,包含1个前端,1个后端和2000个以上的代理服务器。 Haproxy充当反向代理(网关),请求被传递给其中一个服务器。 我试图根据Haproxy主机名来制作一个粘性,但是是一个通配符。 例如:DNSlogging: A lb.example.com xxx.xxx.xxx.xxx A *.lb.example.com xxx.xxx.xxx 两个logging都是一样的Haproxy。 我想捕获通配符主机,并使用粘性表来匹配它。 例: session-1.lb.example.com -> server 1 session-2.lb.example.com -> server 2 主要的问题是我找不到捕获haproxy主机名的解决scheme,就像Apache / Nginx中的虚拟主机一样。 hdr(主机)表示请求的主机,而不是haproxy主机名。 任何想法如何捕获haproxy主机名? 它必须是dynamic的,新的虚拟主机 – 新的任务。 谢谢 :)

基于通配符用户的Haproxy会话粘性

我正在探索Haproxy粘性,并试图find更多的解决scheme。 我最后的想法是根据传递给Haproxy的用户创build一个粘性。 前端: http-request set-header X-My-Session %[hdr(Proxy-Authorization),base64] 后端: http-request track-sc0 req.fhdr(X-My-Session) table st_tab stick on req.fhdr(X-My-Session) table st_tab stick match req.fhdr(X-My-Session) table st_tab 我做基于IP白名单的ACL,所以用户名是免费的。 此解决scheme正在工作,当我发送请求使用curl,但浏览器没有发送头是服务器没有请求身份validation。 要问auth我需要创build一个用户列表,并使用http-request auth ,这是我的问题。 我不想创build用户,我想只使用随机用户名粘性。 有一些方法来创build一个通配符用户,首选没有密码(但我可以住在密码)。

如何将HAProxyconfiguration为从path中获取后端uri?

我想使用HAProxy作为反向代理,并从path中取回后端主机: http://haproxy/web1/index.html – > http://web1/static/index.html http://haproxy/web2/index.html – > http://web2/static/index.html … 后端服务器是dynamic的,不应该被硬编码。 我设法用nginx来实现,但是我无法用HAProxy实现同样的function。 server { listen 80; server_name localhost; location ~ ^/(.*)/(.*) { proxy_pass http://$1/static/$2; } } 用HAProxy做这个是不是一个好主意,还是应该坚持用NGINX?

haproxy – 重新encryption并添加标题

我想build立一个haproxy重新encryption, 如果stream量已经encryption,我想添加标题,以确保它正在工作。 但我的 http-request add-header LoadBalancer Plain和 http-request add-header LoadBalancer Encrypted 似乎没有工作。 如何添加标题到请求? 怎么知道,这个configuration使用重新encryption,而不是TLS传递? 我添加了一个固定的IP,但我宁愿使用其他docker实例的主机名。 global daemon maxconn 256 ssl-server-verify none defaults mode http timeout connect 5000ms timeout client 50000ms timeout server 50000ms option forwardfor option http-server-close stats enable stats uri /stats stats realm Haproxy\ Statistics stats auth user:password listen http-in-plain http-request set-header X-SSL %[ssl_fc] […]

Haproxy FTPS被动不工作

服务器:Debian 8.5 客户端:Debian 8.5 GNOME DESKTOP remote-client | (2001::10/64) HAproxy (1001::10/64) | | | | ftp_srv1————ftp_srv2 (1001::1/64) (1001::2/64) ftp_srv1 FTPconfiguration(使用vsftpd ): rsa_cert_file=/ftp-ssl/ftp.crt rsa_private_key_file=/ftp-ssl/ftp.key ssl_enable=YES pasv_enable=YES pasv_min_port=10001 pasv_max_port=10250 listen_port=990 implicit_ssl=YES ftp_srv2 FTPconfiguration(使用vsftpd ): rsa_cert_file=/ftp-ssl/ftp.crt rsa_private_key_file=/ftp-ssl/ftp.key ssl_enable=YES pasv_enable=YES pasv_min_port=10251 pasv_max_port=10500 listen_port=990 implicit_ssl=YES HAProxyconfiguration: frontend ftp bind :::990 default_backend ftpback frontend ftp-passv-1 bind :::10001-10250 default_backend ftp-passv-1-back frontend ftp-passv-2 […]

多个VPS与他们的名称服务器+ FTP +等在相同的IP下

我试图创build的设置: 具有单个公共IP的单个物理专用服务器 运行Virtualmin(LAMP +其他服务)的多个托pipe虚拟机(DomU,带有XEN)基本上像一个带有NAT的LAN 运行在物理服务器上的HAProxy:使用主机名将传入的连接路由到正确的端口 这对于每个VPS上的Apache都是完美无瑕的,但是它似乎不适用于FTP / SSH / DNS:它们不使用主机名来辨别哪个VPS必须被调用。 有没有办法做到这一点? PS:我知道我可以在物理机器上运行一个名称服务器,为虚拟机上托pipe的所有域名提供DNS服务,但是我的目标是让这些VPS自治,以便将来能够移动它们而无需记住哪些服务与托pipe物理服务器共享/绑定。

带有HAproxy代理协议和内部redirect的Nginxconfiguration

我需要将HTTPSstream从HAProxyredirect到Nginx,无需终止SSL,也不会丢失有关原始客户端IP的信息。 不幸的是,我不能在Nginx上更改默认443站点的configuration,因为它是由Synology NASconfiguration维护的。 我正在考虑Nginx上的新监听端口,它接受来自HAProxy的代理协议,以及不通过SSL解码/编码的本地443端口的内部redirect,而是传递来自HAProxy的原始客户端IP。 这是可能的吗? 编辑:后台是我在同一个外部443端口隧道OpenVPN和Web服务,所以实际上它看起来如下: router 443 TCP -> HAProxy -> SNI check -> stunnel -> OpenVPN | ——> SSL termination -> Nginx 443 HTTPS 我使用HAProxy,因为ngx_stream_ssl_preread_module在Synology内置的Nginx上不可用。 编辑:我认为情况和问题可以更通用: Nginx: port X accessed via proxy protocol with SSL/TLS port Y 如何使用源客户端IP的信息将端口X的stream传递给Y,而不使用SSL端点? 在端口Y上使用proxy_protocol的listen指令是唯一可能的选项吗?

如何在tcp模式下将客户端的IP地址从Haproxy转发到Nginx

我想将实际客户端的IP地址从haproxy转发到我的后端服务器在TCP模式。 Haproxy的configuration如下: frontend main bind *:80 mode http option forwardfor option http-server-close default_backend app-main frontend https_main bind *:443 mode tcp option tcplog option tcpka default_backend app-ssl backend app-main balance roundrobin server web1 192.168.1.22:8080 check fall 3 rise 2 server web2 192.168.1.33:8080 check fall 3 rise 2 backend app-ssl balance roundrobin mode tcp option ssl-hello-chk server […]