Compilar HAProxy usando una biblioteca OpenSSL específica

Para activar el soporte ALPN (HTTP/2.0), Application-Layer Protocol Negotiation (RFC 7301), es necesario usar OpenSSL 1.0.2 o superior.

La mayoría de distribuciones Linux para servidores usan OpenSSL 1.0.1, y todos los paquetes están compilados con dicha versión; por ello es necesario:

  1. Disponer de OpenSSL 1.0.2. En la entrada Múltiples versiones de OpenSSL en Linux se detalla como compatibilizar el uso de múltiples versiones OpenSSL.
  2. Compilar HAProxy indicando la biblioteca OpenSSL ha usar.

Compilar HAProxy

Los flags de compilación necesarios son:

  • TARGET, especifica el SO; para Linux 2.6.28, 3.x y superior usar linux2628.
  • USE_PCRE, activa el soporte para Perl Compatible Regular Expressions (PCRE).
  • USE_ZLIB, activa el soporte para compresión ZLIB.
  • USE_OPENSSL, activa el soporte para SSL.
  • SSL_LIB y SSL_INC, indica la biblioteca OpenSSLa usar.

A continuación, un ejemplo suponiendo que la biblioteca OpenSSL 1.0.2 se localiza en /opt/openSSL/1.0.2h/:

1
2
3
4
5
wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.9.tar.gz
tar -xzf haproxy-1.6.9.tar.gz
cd haproxy-1.6.9
make TARGET=linux2628 USE_PCRE=1 USE_ZLIB=1 USE_OPENSSL=1 SSL_LIB=/opt/openSSL/1.0.2h/lib SSL_INC=/opt/openSSL/1.0.2h/include
make install

Entradas de interés

Contenidos
  1. 1. Compilar HAProxy