我已经设置了新版本的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
答案 0 :(得分:3)
这是因为在OpenSSL中,notlsv1仅禁用TLSv1.0,而不是更高版本!如果您需要,最好从站点下载最新的快照,并使用“force-sslv3”而不是“notlsv1”。它将强制使用SSLv3并使用stud执行您目前所拥有的操作。