使用SSL和Notls的haproxy

时间:2012-10-09 08:48:36

标签: ssl haproxy

我已经设置了新版本的haproxy,但我需要禁用TLS,而“notlsv1”关键字不起作用。 在我的实际配置中,我使用stud来管理具有以下参数的https会话:

  

-B 1000 -n 8 -b 127.0.0.1 8080 -f *,443 --ssl -c ALL --write-proxy

而我正试图用新的haproxy版本替换他。

我的配置文件:

global
  log 127.0.0.1   local0 info
  maxconn 32000
  user haproxy
  group haproxy
  daemon
  nbproc 1
  stats socket    /tmp/haproxy.sock

defaults
  timeout connect 10000
  timeout client 30000
  timeout server 30000

listen ha_stats 0.0.0.0:8088
  balance source
  mode http
  timeout client 30000ms
  stats enable
  stats uri /lb?stats

frontend https-requests
   mode http
   bind :80
   bind :443 ssl crt ./haproxy.pem notlsv1
   acl is_front hdr(host) -i front.mydomain.com
   acl is_service hdr(host) -i service.mydomain.com
   use_backend bkfront if is_front
   use_backend bkservice if is_service

   default_backend mydomain.com

backend mydomain.com
    mode http
    server mywebsite www.mydomain.com:80

backend bkfront
    mode http
    balance roundrobin
    option httpchk GET / HTTP/1.1\r\nHost:\ front.mydomain.com

     server web05 192.168.200.5:80 check

    backend bkservice
      mode http
      balance roundrobin
      option httpchk GET / HTTP/1.1\r\nHost:\ service.mydomain.com

      server web01 192.168.200.1:80 check

http和https会话与Firefox有很好的协作,但我在使用chrome和Internet Explorer时遇到问题。要解决它们,使用Stud我需要添加--ssl。

谢谢,

解决方案:

感谢Willy的帮助。下面我给出解决这个问题的命令:

wget http://haproxy.1wt.eu/download/1.5/src/devel/haproxy-1.5-dev12.tar.gz
wget http://haproxy.1wt.eu/download/1.5/src/snapshot/haproxy-1.5-dev12-patches-LATEST.tar.gz
tar xvzf haproxy-1.5-dev12.tar.gz
mv haproxy-1.5-dev12-patches-LATEST.tar.gz haproxy-1.5-dev12
cd haproxy-1.5-dev12/
tar xvzf haproxy-1.5-dev12-patches-LATEST.tar.gz
patch -p1 < haproxy-1.5-dev12-patches-20121009/*.diff
make TARGET=linux26 USE_OPENSSL=1
sudo make PREFIX=/opt/haproxy-ssl install

并替换:

bind :443 ssl crt ./haproxy.pem notlsv1

为:

bind :443 ssl crt ./haproxy.pem force-sslv3

1 个答案:

答案 0 :(得分:3)

这是因为在OpenSSL中,notlsv1仅禁用TLSv1.0,而不是更高版本!如果您需要,最好从站点下载最新的快照,并使用“force-sslv3”而不是“notlsv1”。它将强制使用SSLv3并使用stud执行您目前所拥有的操作。