HAProxy 无法与 ALPN 配合使用

HAProxy 无法与 ALPN 配合使用

我需要使用 ALPN 来配置 HAProxy 以支持 HTTP/2。配置 HAProxy 后,我尝试重新启动但失败了。即使将 openssl 升级到 1.0.2 也无济于事。维基百科指出,自 1.0.2 开始支持 ALPN。我运行的系统是 Ubunut 14.04。LTS

这些是错误消息:

[ALERT] 364/162959 (3104) : parsing [/etc/haproxy/haproxy.cfg:137] : 'bind 192.143.56.150:443' : 'alpn' : library does not support TLS ALPN extension
[ALERT] 364/162959 (3104) : parsing [/etc/haproxy/haproxy.cfg:142] : error detected while parsing switching rule : unknown fetch method 'ssl_fc_alpn' in ACL expression 'ssl_fc_alpn'.
[ALERT] 364/162959 (3104) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg

 * Restarting haproxy haproxy                                            [fail] 
$ openssl version -v
OpenSSL 1.0.2j  26 Sep 2016

$ haproxy -vv | grep -i openssl
  OPTIONS = USE_ZLIB=1 USE_OPENSSL=1 USE_PCRE=1
Built with OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
Running on OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes

我感觉 HAProxy 是用旧的 openssl lib 构建的,我需要重建。这样对吗?如果对,那么最好的方法是什么。不确定这是 ubuntu 包还是自编译的。

答案1

也许这个链接在 Ubuntu 上从源代码编译 HAProxy对你有用。

答案2

我感觉 HAProxy 是用旧的 openssl lib 构建的,我需要重建。这样对吗?

是的。或者至少安装一个更新的版本。

如果是,那么最好的方法是什么?不确定这是 ubuntu 包还是自编译的。

好吧,如果你能对安装源有所了解就好了。我刚刚检查过,HAProxy可用的反向移植Ubuntu 14.04是针对编译的openssl 1.0.1,所以你不会得到任何好处。你可以使用服务以获取适合您操作系统的现代软件包;这些软件包由维护者 Vincent Bernat 提供。如果您需要任何进一步的帮助,请告诉我。

相关内容