Openssl 1.5-dev17的HAproxy SSL Segfault
尝试在1.5-dev17上启用ssl时遇到segfault Ubuntu服务器12.04 尝试了我所能想到的几乎所有变体,将私钥和CA捆绑连接起来并用作单个crt,还尝试了将私钥和CA文件拆分为CA捆绑的crt /etc/haproxy/haproxy.cfgOpenssl 1.5-dev17的HAproxy SSL Segfault,openssl,load-balancing,haproxy,Openssl,Load Balancing,Haproxy,尝试在1.5-dev17上启用ssl时遇到segfault Ubuntu服务器12.04 尝试了我所能想到的几乎所有变体,将私钥和CA捆绑连接起来并用作单个crt,还尝试了将私钥和CA文件拆分为CA捆绑的crt /etc/haproxy/haproxy.cfg global maxconn 4096 daemon defaults mode http contimeout 5000 clitimeout 50000 srvtimeout 50
global
maxconn 4096
daemon
defaults
mode http
contimeout 5000
clitimeout 50000
srvtimeout 50000
option forwardfor
retries 3
option redispatch
option http-server-close
frontend http
bind *:80
reqadd X-Forwarded-Proto:\ http
default_backend unicorn
frontend https
bind *:443 ssl crt /path/to/private.key ca-file /path/to/bundle.crt
reqadd X-Forwarded-Proto:\ https
default_backend unicorn
backend unicorn
server unicorn 127.0.0.1:8080 check
listen stats :8081
mode http
stats enable
stats scope unicorn
stats realm Haproxy\ Statistics
stats uri /
stats auth haproxy:YOURPASSWORDHERE
gdb输出
Reading symbols from /usr/local/sbin/haproxy...done.
(gdb) run -f /etc/haproxy/haproxy.cfg
Starting program: /usr/local/sbin/haproxy -f /etc/haproxy/haproxy.cfg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Program received signal SIGSEGV, Segmentation fault.
0x000000000045edc0 in bind_parse_ssl (args=<optimized out>, cur_arg=<optimized out>, px=<optimized out>, conf=<optimized out>, err=<optimized out>) at src/ssl_sock.c:2566
2566 list_for_each_entry(l, &conf->listeners, by_bind)
从/usr/local/sbin/haproxy读取符号…完成。
(gdb)运行-f/etc/haproxy/haproxy.cfg
启动程序:/usr/local/sbin/haproxy-f/etc/haproxy/haproxy.cfg
[已启用使用libthread_db的线程调试]
使用主机libthread_db library“/lib/x86_64-linux-gnu/libthread_db.so.1”。
程序接收信号SIGSEGV,分段故障。
位于src/ssl_sock.c:2566的绑定解析ssl(args=,cur_arg=,px=,conf=,err=)中的0x000000000045edc0
2566列出每个\u条目的\u(l,&conf->listeners,按\u绑定)
您的配置不会使我的haproxy-1.5-dev17崩溃。然而,您不是碰巧在没有启用ssl支持的情况下进行了第一次构建,然后仅使用ssl进行了部分重构吗?
我是说,比如:
$ make TARGET=linux2628
...
$ make TARGET=linux2628 USE_STATIC_PCRE=1 USE_OPENSSL=1
如果是这样,则生成可能无效,因为某些需要重新编译的文件没有重新编译
你能试试吗
make TARGET=linux2628 USE_STATIC_PCRE=1 USE_OPENSSL=1 clean all
确认在dev14中不是问题,早期版本的一切都运行良好。您在捆绑包中得到了什么密钥。crt?很好的建议,将给它一个机会并报告回来