按照这种方式,在libcurl中,CURLOPT_SSL_ENABLE_ALPN
默认情况下启用该选项。对于一个项目,我正在尝试禁用ALPN扩展,如下所示:
CURLcode res = CURLE_OK;
res = curl_easy_setopt(curl_, CURLOPT_SSL_ENABLE_ALPN, 0L);
if(res == CURLE_OK){
cout<<"Set CURLOPT_SSL_ENABLE_ALPN to 0L res = "<<res;
}else{
cout<<"Set CURLOPT_SSL_ENABLE_ALPN to 1L res = "<<res<<"\t"<<curl_easy_strerror(res);
}
这给我抛出一个错误:
Set CURLOPT_SSL_ENABLE_ALPN to 1L res = 48 An unknown option was passed in to libcurl
而且,我可以看到TLS握手中存在ALPN扩展,可以通过Wireshark看到它。如何禁用ALPN扩展?OpenSSL版本:OpenSSL 1.1.0k卷曲版本:7.67.0
显然,如果您不使用支持HTTP2的libcurl(libnghttp2)进行编译,尽管ALPN和NPNCURLOPT_SSL_ENABLE_ALPN
与HTTP2无关,但它仍被CURLOPT_SSL_ENABLE_NPN
视为未知选项。这是libcurl中的错误。我报告了这一行为在libcurl的GitHub库在这里,他们固定它,修复将在下一版本中提供。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句