HAproxy SSL Segfault с 1.5-dev17

Получение segfault при попытке включить ssl на 1.5-dev17

Сервер Ubuntu 12.04

Пробовал почти все варианты, которые я мог придумать, с закрытым ключом и пакетом CA, объединенным и используемым как один crt, также пробовал разделить crt с закрытым ключом и ca-файлом в качестве пакета CA.

/etc/haproxy/haproxy.cfg

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)

person scootklein    schedule 03.02.2013    source источник
comment
Подтверждено, что в dev14 проблем нет, с более ранней версией все работает нормально   -  person scootklein    schedule 03.02.2013
comment
какие ключи у вас есть в bundle.crt?   -  person Novkovski Stevo Bato    schedule 24.02.2013


Ответы (1)


У меня ваша конфигурация не приводит к сбою 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
person Remi Gacogne    schedule 05.02.2013
comment
отличное предложение, попробую и отчитаюсь - person scootklein; 05.02.2013