savannah-hackers-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-hackers-public] Memo: HTTP/2 support for Savannah (and probabl


From: Jing Luo
Subject: [Savannah-hackers-public] Memo: HTTP/2 support for Savannah (and probably *.gnu.org) and the blockers
Date: Wed, 20 Dec 2023 23:30:55 +0900

Hi,

Now that it's almost 2024, HTTP/2 is support by apache2 is mature, it's probably time for savannah and *.gnu.org to support HTTP/2. It brings better performance and requires TLS 1.3, but I'll leave this discussion/decision to FSF admins.

As a memo, *IF* savannah enables HTTP/2 support, a few things have to change:

The first thing I encountered when deploying HTTP/2 on my own server, is the apache2 error.log saying:

[http2:warn] [pid 42376] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.

HTTP/2 requires the apache2 module mpm_event to be enabled. mpm_event conflicts mpm_prefork, and mpm_prefork is required by "php" (e.g. "php8.2"). So the solution is to use "php-fpm" (e.g. "php-fpm8.2") instead of "php", and enable mpm_event and mpm_worker.

I assume savannah now runs on "php" instead of "php-fpm". IIRC php-fpm is considered to have better performance than php because it uses workers instead of threads to handle connections (?). If savannah simple enables php-fpm, and if any php_admin_flag or php_admin_value directives are defined in apache2's conf, apache2 will emit errors, because php-fpm does not support php_admin_flag or php_admin_value. A solution to this would be to modify php.ini directly. As a side note: register_globals and magic_quotes_gpc options were removed, maybe it's time for savane to drop support for old php versions.

A side note of the side note: nginx-mainline supports HTTP/3. apache2 will probably follow in a few years when it matures.

--
Jing Luo
About me: https://jing.rocks/about/
PGP Fingerprint: 4E09 8D19 00AA 3F72 1899 2614 09B3 316E 13A1 1EFC

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]