libcurl не обновляет запросы POST до HTTP/2 на OpenWrt

libcurl не обновляет запросы POST до HTTP/2 на OpenWrt

Когда я компилирую образ OpenWrt с помощью make menuconfig, я устанавливаю флажок libcurl, а затем флажок для добавления поддержки HTTP/2 и убеждаюсь, что также отмечена библиотека nghttp2. В моем коде, который делает запросы, я установил CURLOPT_HTTP_VERSION на CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, потому что мой сервер использует HTTP/2 во всех запросах браузера и это через https.

Для тестирования я скомпилировал curl на машине Ubuntu с поддержкой HTTP/2 и сделал запрос POST на тот же URL, который я запрашиваю в OpenWrt, и запрос использовал HTTP/2. Есть ли что-то, что известно о неправильности HTTP/2 в OpenWrt? Или это проблема, с которой сталкивались другие люди и которую они исправили? Полезных отладочных данных нет, я уже все перерыл и немного растерялся.

Я использую mbedTLS в качестве бэкэнда TLS/SSL, если это будет полезно.

Отредактировано с дополнительной информацией: запустил этот фрагмент:

printf("%d\n", curl_version_info(CURLVERSION_NOW)->features & CURL_VERSION_HTTP2);

и он напечатал 0, а затем побежал:

printf("%d\n", curl_version_info(CURLVERSION_NOW)->features & CURL_VERSION_SSL);

и он напечатал 4. Так что даже если я компилирую свой образ с включенной libcurl, проверенной поддержкой http2 и проверенной поддержкой SSL, на самом деле включается только SSL. Однако есть .soи для mbedtls, и для libnghttp2.

Любая помощь в этом вопросе будет полезна.

Связанный контент