基于SSL和非TLS的HAProxy

4
我已经安装了新版本的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

在Firefox中,http和https会话非常好用,但我在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

to:

bind :443 ssl crt ./haproxy.pem force-sslv3
1个回答

3

这是因为在OpenSSL中,notlsv1只禁用了TLSv1.0版本,而没有禁用后续的版本!如果你需要禁用所有TLS版本,最好从该网站下载最新快照,并使用"force-sslv3"代替"notlsv1"。它将强制仅使用SSLv3并执行与stud相同的操作。


嗨Willy,你的回答完美且有效!感谢你的帮助以及在haproxy上的出色工作! - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接