[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
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-hackers-public] Memo: HTTP/2 support for Savannah (and probably *.gnu.org) and the blockers,
Jing Luo <=