我需要使用 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 提供。如果您需要任何进一步的帮助,请告诉我。