Puncte:0

Apache 2.4.41 încearcă să lege toate interfețele la boot - dar funcționează bine dacă încep prin serviciu

drapel nu

Titlul spune totul. Problema mea: Îmi repornesc serverul și Apache este mort, site-urile web sunt oprite. Se pare că Apache încearcă să se lege pe toate IP-urile... dar de ce?

Dacă verific de ce, emitând: starea serviciului apache2

â apache2.service - Serverul Apache HTTP
     Încărcat: încărcat (/lib/systemd/system/apache2.service; activat; prestabilit furnizor: activat)
     Activ: eșuat (Rezultat: cod de ieșire) din miercuri 15-12-2021 00:25:19 CET; acum 18 ani
       Documente: https://httpd.apache.org/docs/2.4/

15 decembrie 00:25:19 și systemd[1]: Se pornește serverul Apache HTTP...
Dec 15 00:25:19 y apachectl[563]: AH00558: apache2: Nu s-a putut determina în mod fiabil numele de domeniu complet calificat al serverului, folosind [ipv6 addr]. Setați „ServerN>
Dec 15 00:25:19 y apachectl[563]: (99)Nu se poate atribui adresa solicitată: AH00072: make_sock: nu s-a putut lega la adresa 1.2.3.4:80
15 dec 00:25:19 și apachectl[563]: nu există prize de ascultare disponibile, se închide
Dec 15 00:25:19 și apachectl[563]: AH00015: Imposibil de deschis jurnalele
Dec 15 00:25:19 și apachectl[549]: Acțiunea „pornire” a eșuat.
Dec 15 00:25:19 și apachectl[549]: Jurnalul de erori Apache poate conține mai multe informații.
Dec 15 00:25:19 y systemd[1]: apache2.service: Procesul de control a fost ieșit, code=exited, status=1/FAILURE
Dec 15 00:25:19 și systemd[1]: apache2.service: Eșuat cu rezultatul „exit-code”.
15 decembrie 00:25:19 și systemd[1]: Nu s-a pornit Apache HTTP Server.
  • Sistemul de operare este un Ubuntu 20.04.3 LTS care rulează pe un server.
  • Serverul are două IP-uri (ipv4) și vreau ca Apache să se lege doar la 1 ipv4.

/etc/apache2/ports.conf contine doar asta:

Ascultă 1.2.3.4:80
<IfModule ssl_module>
        Ascultă 1.2.3.4:443
</IfModule>

<IfModule mod_gnutls.c>
        Ascultă 1.2.3.4:443
</IfModule>

Fiecare VirtualHost conține doar:

<VirtualHost *:80>
</VirtualHost>

Și o configurație separată pentru SSL (creată automat de Certbot ACME).

Apache avatar
drapel nu
Deci, evident, `service apache2 restart` (care funcționează) este diferit de serviciul care este apelat la pornire. Dar de ce?
drapel in
Există ceva în `/var/log/apache2/error.log` pentru a explica mai bine problema? De asemenea, ar putea merita să vă uitați la `/var/log/syslog` pentru a vedea dacă Apache pornește înainte ca interfețele de rețea să fie deschise, ceea ce cu siguranță ar cauza acest tip de problemă.
Puncte:0
drapel nu

Aparent, aceasta este o nouă eroare/problemă cu privire la Mailcow, sau este legat de rețea dacă aveți mai multe IP-uri pe interfață. Pe Ubuntu 18.04, este Netplan. (Deci, practic, nu pot identifica vinovatul deocamdată.)

Oricum. Iată soluția (felicitari lui Michael).
În /etc/sysctl.conf, adăugați aceste rânduri la sfârșit:

net.ipv4.ip_nonlocal_bind=1
net.ipv6.ip_nonlocal_bind=1

Vedea docs.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.