Nach Update/Upgrade: http/1.1 statt http/2

Diskussionen zur Bedienung von KeyHelp.
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by blickgerecht »

Das Problem ließ sich ja so beheben. Danke nochmal!

Eine Nachfrage noch zu mpm_event …

In unserer gerade neu installierten Keyhelp-Version sieht /etc/apache2/mods-available/mpm_event.conf so aus (nach Anpassung der Werte):

Code: Select all

StartServers            2
MinSpareThreads         25
MaxSpareThreads         75
ThreadLimit             64
ThreadsPerChild         25
MaxRequestWorkers       1000
MaxConnectionsPerChild  2000
ServerLimit             40
Im länger bestehenden, aktualisierten System so:

Code: Select all

<IfModule mpm_event_module>
        StartServers    2
        MinSpareThreads 25
        MaxSpareThreads 75
        ThreadLimit     64
        ThreadsPerChild 25
        MaxRequestWorkers       1000
        ServerLimit     40
        MaxConnectionsPerChild  2000
</IfModule>
Ich nehme an, beim Update/Upgrade wurde die veränderte Datei behalten. Hat es Nachteile, das die If-Abfrage darin enthalten ist?
Grüße
Roland
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by blickgerecht »

Hallo zusammen,

ich muss hier nochmal anknüpfen. Ursprünglich ging es ja um einen Server, den wir auf Debian 12 geupgraded hatten. Dort kam das Problem mit http/1.1 auf, was letztlich daran lag, dass php8.2 aktiv war und damit nur mpm_prefork, was http/2 nicht unterstützt hat.

Jetzt habe ich durch Zufall das gleiche Problem auf einem von Beginn an mit Keyhelp 24 und Debian 12 installierten Server festgestellt.
Auch hier war mpm_prefork aktiv, die Seiten wurden nur mit http/1.1 ausgeliefert und die Einstellungen am Webserver im Panel zum mpm hatten keine Auswirkungen.

Hier lag das selbe Problem vor: php8.2 war im Apache aktiviert (nicht das von Keyhelp), daher ließ sich an der Konfiguration nichts ändern.

Mit

Code: Select all

a2dismod php8.2
ließ sich das Problem lösen und die Konfiguration über das Panel klappt wieder, die Seiten werden auch wieder mit http/2 ausgeliefert.

Ich bin jetzt in den Logs gar nicht mehr fündig geworden, wann die Umstellung auf mpm_prefork und offenbar die Aktivierung von php8.2 stattgefunden haben soll. Dadurch kann ich den Grund auch nicht ausfindig machen.

Habt Ihr eine Idee? Ich meine, ich würde auch immer mal wieder davon lesen, dass die System-PHP-Version aktiv ist, statt der von Keyhelp ausgelieferten, was dann zu Problemen führt. Vielleicht ließe sich der Fehler finden, wieso das immer mal wieder vorkommt …
Grüße
Roland
tab-kh
Posts: 460
Joined: Thu 22. Apr 2021, 23:06

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by tab-kh »

Also das würde mich jetzt schon auch interessieren ob das tatsächlich so ist, wie von dir beschrieben. Also bei mir ist zumindest nicht alles so.
Ich habe hier seit einiger Zeit einen Server auf ARM64 Basis. Hierzu gibt es ja von Keyhelp/Keyweb keine zusätzlichen PHP-Versionen. Da ich Debian 12 installiert habe, läuft da jetzt also auch die PHP-Version (8.2) von Debian 12. Die User-Einstellungen für PHP-FPM habe ich geändert um mehr Worker-Prozesse zu haben. An den Einstellungen des Webservers unter Konfiguration habe ich nichts geändert. Da steht aber drin mpm_event und nicht mpm_prefork, habe ich gerade eben nachgeschaut. Außerdem habe ich mir eine der ausgelieferten Seiten angeschaut und da steht in den Firefox Entwicklertools definitiv drin, dass die Version HTTP/2 sei. Ich habe auch geprüft, ob meine durchgeführten, userbasierten Einstellungen für PHP-FPM tatsächlich aktiv sind, und sie sind laut der FPM Statusseite definitiv aktiv.

Also habe ich erst einmal keine Ahnung, warum das bei dir anders ist als hier. Da würde mir maximal noch einfallen, dass es in der ARM64 Version anders wäre. Halte ich aber für relativ unwahrscheinlich.
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by blickgerecht »

tab-kh wrote: Fri 19. Apr 2024, 13:32 Also das würde mich jetzt schon auch interessieren ob das tatsächlich so ist, wie von dir beschrieben.
Wie meinst Du das?

Also wir nutzen für beide Server (den alten Debian 11>12 und den Debian 12) Cloud-Server bei Hetzner – keine ARM64.
Wir haben auch die Auslieferung im Browser geprüft (war http/1.1, ist jetzt wieder http/2).


Ansonsten ist der Lösungsweg bei beiden Servern nun der selbe gewesen:

1.) Fehler festgestellt: Auslieferung http/1.1 und Apache lief mit mpm_prefork

2.) Manuell versucht MPM umzustellen mit

Code: Select all

a2dismod mpm_prefork
a2enmod mpm_event
mpm_prefork ließ sich nicht deaktivieren. Die Fehlermeldung sagt, dass zuvor das Modul php8.2 deaktiviert werden muss.

3.) PHP8.2 im Apache deaktivieren mit

Code: Select all

a2dismod php8.2
Anschließend konnte wieder mpm_event aktiviert werden, auch über das Panel. Dort war es aber eigentlich durchgehend aktiviert.


Habe etwas in den Logs gesucht und ich bin im package-update.log fündig geworden:

Code: Select all

[17-Apr-2024 03:00:06] INFO | upgrade installed packages...
[17-Apr-2024 03:00:35] INFO | 
Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages have been kept back:
  linux-image-amd64
The following packages will be upgraded:
  apache2 apache2-bin apache2-data apache2-suexec-custom apache2-utils
  libapache2-mod-php8.2 php8.2 php8.2-bcmath php8.2-cli php8.2-common
  php8.2-curl php8.2-fpm php8.2-gd php8.2-gmp php8.2-intl php8.2-mbstring
  php8.2-mysql php8.2-opcache php8.2-pspell php8.2-readline php8.2-soap
  php8.2-xml php8.2-zip
23 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 9403 kB of archives.
After this operation, 85.0 kB of additional disk space will be used.
Get:1 http://security.debian.org/debian-security bookworm-security/main amd64 apache2 amd64 2.4.59-1~deb12u1 [220 kB]
Get:2 http://security.debian.org/debian-security bookworm-security/main amd64 apache2-bin amd64 2.4.59-1~deb12u1 [1380 kB]
Get:3 http://security.debian.org/debian-security bookworm-security/main amd64 apache2-data all 2.4.59-1~deb12u1 [160 kB]
Get:4 http://security.debian.org/debian-security bookworm-security/main amd64 apache2-utils amd64 2.4.59-1~deb12u1 [207 kB]
Get:5 http://security.debian.org/debian-security bookworm-security/main amd64 apache2-suexec-custom amd64 2.4.59-1~deb12u1 [140 kB]
Get:6 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-zip amd64 8.2.18-1~deb12u1 [26.2 kB]
Get:7 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-xml amd64 8.2.18-1~deb12u1 [112 kB]
Get:8 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-soap amd64 8.2.18-1~deb12u1 [124 kB]
Get:9 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-readline amd64 8.2.18-1~deb12u1 [12.4 kB]
Get:10 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-pspell amd64 8.2.18-1~deb12u1 [8844 B]
Get:11 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-opcache amd64 8.2.18-1~deb12u1 [345 kB]
Get:12 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-mysql amd64 8.2.18-1~deb12u1 [117 kB]
Get:13 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-mbstring amd64 8.2.18-1~deb12u1 [444 kB]
Get:14 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-intl amd64 8.2.18-1~deb12u1 [138 kB]
Get:15 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-gmp amd64 8.2.18-1~deb12u1 [21.9 kB]
Get:16 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-gd amd64 8.2.18-1~deb12u1 [28.8 kB]
Get:17 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-fpm amd64 8.2.18-1~deb12u1 [1743 kB]
Get:18 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-curl amd64 8.2.18-1~deb12u1 [35.8 kB]
Get:19 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-bcmath amd64 8.2.18-1~deb12u1 [15.3 kB]
Get:20 http://security.debian.org/debian-security bookworm-security/main amd64 libapache2-mod-php8.2 amd64 8.2.18-1~deb12u1 [1674 kB]
Get:21 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-cli amd64 8.2.18-1~deb12u1 [1734 kB]
Get:22 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2-common amd64 8.2.18-1~deb12u1 [678 kB]
Get:23 http://security.debian.org/debian-security bookworm-security/main amd64 php8.2 all 8.2.18-1~deb12u1 [37.1 kB]
Fetched 9403 kB in 0s (100 MB/s)
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 49213 files and directories currently installed.)
Preparing to unpack .../00-apache2_2.4.59-1~deb12u1_amd64.deb ...
Unpacking apache2 (2.4.59-1~deb12u1) over (2.4.57-2) ...
Preparing to unpack .../01-apache2-bin_2.4.59-1~deb12u1_amd64.deb ...
Unpacking apache2-bin (2.4.59-1~deb12u1) over (2.4.57-2) ...
Preparing to unpack .../02-apache2-data_2.4.59-1~deb12u1_all.deb ...
Unpacking apache2-data (2.4.59-1~deb12u1) over (2.4.57-2) ...
Preparing to unpack .../03-apache2-utils_2.4.59-1~deb12u1_amd64.deb ...
Unpacking apache2-utils (2.4.59-1~deb12u1) over (2.4.57-2) ...
Preparing to unpack .../04-apache2-suexec-custom_2.4.59-1~deb12u1_amd64.deb ...
Unpacking apache2-suexec-custom (2.4.59-1~deb12u1) over (2.4.57-2) ...
Preparing to unpack .../05-php8.2-zip_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-zip (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../06-php8.2-xml_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-xml (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../07-php8.2-soap_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-soap (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../08-php8.2-readline_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-readline (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../09-php8.2-pspell_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-pspell (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../10-php8.2-opcache_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-opcache (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../11-php8.2-mysql_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-mysql (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../12-php8.2-mbstring_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-mbstring (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../13-php8.2-intl_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-intl (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../14-php8.2-gmp_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-gmp (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../15-php8.2-gd_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-gd (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../16-php8.2-fpm_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-fpm (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../17-php8.2-curl_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-curl (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../18-php8.2-bcmath_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-bcmath (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../19-libapache2-mod-php8.2_8.2.18-1~deb12u1_amd64.deb ...
Unpacking libapache2-mod-php8.2 (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../20-php8.2-cli_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-cli (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../21-php8.2-common_8.2.18-1~deb12u1_amd64.deb ...
Unpacking php8.2-common (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Preparing to unpack .../22-php8.2_8.2.18-1~deb12u1_all.deb ...
Unpacking php8.2 (8.2.18-1~deb12u1) over (8.2.7-1~deb12u1) ...
Setting up php8.2-common (8.2.18-1~deb12u1) ...
Setting up php8.2-mysql (8.2.18-1~deb12u1) ...
Setting up php8.2-bcmath (8.2.18-1~deb12u1) ...
Setting up php8.2-zip (8.2.18-1~deb12u1) ...
Setting up php8.2-opcache (8.2.18-1~deb12u1) ...
Setting up php8.2-readline (8.2.18-1~deb12u1) ...
Setting up php8.2-mbstring (8.2.18-1~deb12u1) ...
Setting up apache2-bin (2.4.59-1~deb12u1) ...
Setting up apache2-suexec-custom (2.4.59-1~deb12u1) ...
Setting up php8.2-intl (8.2.18-1~deb12u1) ...
Setting up php8.2-curl (8.2.18-1~deb12u1) ...
Setting up php8.2-xml (8.2.18-1~deb12u1) ...
Setting up php8.2-pspell (8.2.18-1~deb12u1) ...
Setting up php8.2-gmp (8.2.18-1~deb12u1) ...
Setting up php8.2-gd (8.2.18-1~deb12u1) ...
Setting up apache2-data (2.4.59-1~deb12u1) ...
Setting up php8.2-cli (8.2.18-1~deb12u1) ...
Replacing config file /etc/php/8.2/cli/php.ini with new version
Setting up php8.2-soap (8.2.18-1~deb12u1) ...
Setting up apache2-utils (2.4.59-1~deb12u1) ...
Setting up apache2 (2.4.59-1~deb12u1) ...
apache-htcacheclean.service is a disabled or a static unit not running, not starting it.
Setting up php8.2-fpm (8.2.18-1~deb12u1) ...
Replacing config file /etc/php/8.2/fpm/php.ini with new version
NOTICE: Not enabling PHP 8.2 FPM by default.
NOTICE: To enable PHP 8.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Setting up php8.2 (8.2.18-1~deb12u1) ...
Setting up libapache2-mod-php8.2 (8.2.18-1~deb12u1) ...
Replacing config file /etc/php/8.2/apache2/php.ini with new version
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
apache2_invoke: Enable module php8.2
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for php8.2-cli (8.2.18-1~deb12u1) ...
Processing triggers for php8.2-fpm (8.2.18-1~deb12u1) ...
NOTICE: Not enabling PHP 8.2 FPM by default.
NOTICE: To enable PHP 8.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php8.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Processing triggers for libapache2-mod-php8.2 (8.2.18-1~deb12u1) ...
[17-Apr-2024 03:00:35] INFO | ... successful
Vor ein paar Tagen wurde offenbar php8.2 automatisch aktualisiert und dann ist das hier passiert (nochmal ein Auszug):

Code: Select all

Replacing config file /etc/php/8.2/apache2/php.ini with new version
Module mpm_event disabled.
Enabling module mpm_prefork.
apache2_switch_mpm Switch to prefork
apache2_invoke: Enable module php8.2

Kann man irgendwie verhindern, dass es bei Updates dazu kommt?
Grüße
Roland
User avatar
24unix
Posts: 1645
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by 24unix »

blickgerecht wrote: Fri 19. Apr 2024, 14:07 2.) Manuell versucht MPM umzustellen mit

Code: Select all

a2dismod mpm_prefork
a2enmod mpm_event
Dafür gibt es seit einer Weile eine Option in die GUI:

SCR-20240419-mqde.png
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by blickgerecht »

24unix wrote: Fri 19. Apr 2024, 14:13 Dafür gibt es seit einer Weile eine Option in die GUI:
Ja, klar. Das ist mir bekannt. Dort war es ja von Anfang an auf mpm_event eingestellt. Bis zum Package Update hat es auch korrekt funktioniert.

Nur danach ist im Panel immernoch mpm_event eingestellt, obwohl mpm_prefork aktiv ist (siehe Auszug Logs). Ändern lässt es sich zu dem Zeitpunkt weder über das Panel noch manuell. Davor muss erst php8.2 deaktiviert werden.

Edit:
Vielleicht ließe es sich nach dem Deaktivieren von php8.2 auch über das Panel umstellen. Nur dort gab es ja dann gar keine Änderung, daher hab ich es im Anschluss manuell gemacht. Nur, um den Fehler zu beheben. Normalerweise mache ich das nicht per Kommandozeile.
Grüße
Roland
User avatar
24unix
Posts: 1645
Joined: Sun 21. Jun 2020, 17:16
Location: Kollmar
Contact:

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by 24unix »

blickgerecht wrote: Fri 19. Apr 2024, 14:20 Nur danach ist im Panel immernoch mpm_event eingestellt, obwohl mpm_prefork aktiv ist (siehe Auszug Logs). Ändern lässt es sich zu dem Zeitpunkt weder über das Panel noch manuell. Davor muss erst php8.2 deaktiviert werden.
Dann würde ich das unter Fehler/Probleme setzen und denken, dass Alex das schnell behebt.
Einen Bedienfehler kann ich da nicht sehen.
Evtl. hat sich bei den defaults in Bookworm was mit den PHP-Modulen im Zusammenspiel mit dem Apachen geändert.

mod-php manuell deaktivieren macht keinen Sinn, wenn es die GUI gibt.
mfg Micha
--
If Bill Gates had a nickel for every time Windows crashed …
… oh wait, he does.
blickgerecht
Posts: 72
Joined: Tue 28. Nov 2023, 17:52

Re: Nach Update/Upgrade: http/1.1 statt http/2

Post by blickgerecht »

24unix wrote: Fri 19. Apr 2024, 14:29 Einen Bedienfehler kann ich da nicht sehen.
Evtl. hat sich bei den defaults in Bookworm was mit den PHP-Modulen im Zusammenspiel mit dem Apachen geändert.
mod-php manuell deaktivieren macht keinen Sinn, wenn es die GUI gibt.
Ja, stimmt. Ich dachte anfangs ich knüpfe hier an, weil ich den Auszug aus den Logs bis dahin nicht gefunden hatte. Aber klar, es soll ja nicht bei jedem automatischen Package-Update so sein, dass man manuell nacharbeiten muss.

Dann schreibe ich dazu nochmal nen extra Thread unter Fehler/Probleme.
Grüße
Roland
Post Reply