我希望在端口443有一个HAProxy的前端。这个前端的作用如下: 它解密连接的内容并检查: 1-如果连接的encryption内容是ssh,即如果数据包的第一个字是SSH-2.0 ,那么它将解密的数据包转发到端口22.我认为这样的后端看起来像这样: backend ssh mode tcp option tcplog server ssh 127.0.0.1:22 timeout server 2h 2-如果encryption内容是其他内容,则将encryption内容转发到端口8443,其中包含具有正确SNI密钥的Apache服务器。 如果必须为每个url包含所有正确的SNI密钥(为了避免出现中间人攻击,你能告诉我怎么用这个例子吗?我没有问题所有的钥匙HAProxy。 为什么? 因为我已经有了端口443上的apache。我想把它移动到其他一些端口,而不必重写我的整个configuration。 所以我想把它移动到端口8443例如,然后告诉HAProxy,如果连接不是SSH,那么只是转发你到达端口443的所有东西。 我怎么写这样的前端+后端? 请协助。 我目前有以下前端作为起点: frontend ssl bind 0.0.0.0:443 ssl crt /home/myuser/SSL/certs.pem no-sslv3 #decrypts the connection with the keys certs.pem mode tcp option tcplog tcp-request inspect-delay 5s tcp-request content accept if HTTP acl client_attempts_ssh payload(0,7) -m […]
我想使用GoAccess与Haproxy作为反向代理和负载平衡器。 我的目标是创build一个自定义的日志格式,将看起来像apache2(兼容默认goaccess设置)。 到目前为止我做了 capture request header Referrer len 64 capture request header Content-Length len 10 capture request header User-Agent len 64 log-format %si:%sp\ %ci\ -\ -\ [%t]\ "%r"\ %ST\ %B\ "%%Referrer"\ "%%User-Agent" 我的haproxy版本是HA-Proxy版本1.5.14 2015/07/02 我不知道如何从捕获的请求中提取引用和用户代理。 我无法find关于手动定制日志格式的任何有用信息。 编辑 我发现%hrl是被捕获的请求头的一个string列表。 是否有可能通过键或索引提取值?
我以前的问题太复杂也不清楚。 希望这更直接点… 目前我正在使用子域从外部访问应用程序UI。 有些允许通过path访问: example.com/sabnzbd 其他人不使用path(获得404错误),并需要子域名: dsm.example.com 基本上 – 我试图使用只有path访问各种后端: 我是在example.com/plex之后,而不是plex.example.com 而不是dsm.example.com我在example.com/dsm之后 Sabnzbd的作品,因为它允许我configuration一个URL基地(设置为/ sabnzbd)。 至于plex和dsm的例子,我假设/ plex和/ dsm不存在于他们各自的web服务器上,因此为我服务了404。 所以我想弄清楚如何去掉后端的请求中的/ plex和/ dsmpath(但是把它们留在URL栏中)。 这可能吗?
请注意,这也已发布在http://thread.gmane.org/gmane.comp.web.haproxy/27737 我们正在尝试configuration这个架构: ELB使用预先configuration的证书终止SSL。 (这是一个要求,因为只有受限制的人才能访问最终用户证书) ELB使用SSL连接到HAproxy后端(也是要求) ELB按照http://amzn.to/1YajEG3中的说明发送代理标头 HAproxy在443中侦听SSL HAProxy用于做一些HTTP转换(修改标题等)。 一旦ELBconfiguration为SSL +代理协议,我们尝试通过在HTTPS前端的绑定中添加accept-proxy来configurationHAProxy: frontend https-in mode http # Note, I truncated this line because the maillist 80 chars limitations bind :443 accept-proxy ssl crt \ /var/vcap/jobs/haproxy/config/cert.pem \ no-sslv3 ciphers … … 但它失败了: Received something which does not look like a PROXY protocol header 。 疑难解答我发现ELB发送SSLstream的PROXY头INSIDE。 例如,我运行openssl作为服务器: $ openssl […]
有人可以解释这个HAProxy前端节中的“X-Forwarded-Proto2”头文件吗? frontend main *:443 … reqirep ^(X-Forwarded-Proto:)(.*) X-Forwarded-Proto2:\2 … 我明白,HAProxy正在注入一个HTTP头。 但是为什么在新string的末尾有一个2? 我指的是标题末尾的数字“2”,而不是正则expression式的反向引用。
从相同的工作站向相同的haproxy服务器发出相同的url请求: (使用Chrome和Firefox):haproxy日志显示CD标志 与curl:haproxy日志显示– 两个请求都得到完整的答案 – 没有数据被截断。 据此,标志CD意思是 客户端在数据传输过程中意外中止。 这可能是由于浏览器崩溃,客户端和haproxy之间的中间设备导致的,这些中间设备决定主动中断连接,通过客户端和haproxy之间的networking路由问题,或者通过服务器和客户端之间的保活会话首先由客户。 鉴于我正在从同一台工作站发出两个查询,我将排除“中间设备”或“路由问题”的任何影响。 差异似乎在于两个客户如何打开和closures连接。 任何线索任何人?
我一直在尝试使用HAProxy实现一个负载均衡的安全代理传递。 基本上我想要做的是这样的: request —-> haproxy passthrough —–> multiple proxy servers —–> target 现在,我不希望这只是向公众开放,所以我添加HTTP基本身份validation的HTTP请求。 它工作正常,未经授权的请求被拒绝。 但是,对于HTTPS请求,我无法做到这一点,所有这些请求都没有任何安全性或限制。 请注意,使用源IP限制是不可能的,因为请求可能来自各种来源。 这是我的haproxy.cfg文件: global log /dev/log local0 log 127.0.0.1 local1 notice maxconn 4096 user haproxy group haproxy daemon defaults log global mode http option dontlognull retries 3 option redispatch maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000 userlist L1 user john […]
我需要使用ALPN来configurationHAProxy以支持HTTP / 2。 configurationHAProxy后,我尝试重新启动,但失败了。 即使将openssl升级到1.0.2也没有帮助。 维基百科自从1.0.2开始支持ALPN。 我运行的系统是Ubunut 14.04。 LTS 这些是错误信息: [ALERT] 364/162959 (3104) : parsing [/etc/haproxy/haproxy.cfg:137] : 'bind 192.143.56.150:443' : 'alpn' : library does not support TLS ALPN extension [ALERT] 364/162959 (3104) : parsing [/etc/haproxy/haproxy.cfg:142] : error detected while parsing switching rule : unknown fetch method 'ssl_fc_alpn' in ACL expression 'ssl_fc_alpn'. [ALERT] 364/162959 (3104) : […]
我们有一个在TCP套接字上侦听非HTTP请求的服务。 我们希望在它之前放置一个HTTP反向代理,使HTTP请求的主体作为整个请求被转发到TCP套接字。 我们已经看过用nginx做这个,但是它可以很容易地反向代理TCP -> TCP和HTTP -> HTTP ,但是我们还没有find任何方式来做HTTP -> TCP 。 是否有任何“开箱即用”的反向代理软件能够为我们做到这一点,还是我们需要build立一些自定义?
以下是configuration。 Client is a linux server IP: 10.204.21.143. This server is only reachable to HA Proxy server. HA Proxy Server IP: 10.204.24.71 (Its a Solaris 11.3 Server) Back end Server where the FTP Server is running : 10.212.22.31 This server is only reachable to HA Proxy Server only and not to Client Server. HA代理configuration: $ […]