Рейтинг:0

Apache 2.4.41 пытается связать все интерфейсы при загрузке, но отлично работает, если я запускаю службу

флаг nu

Название говорит само за себя. Моя проблема: Я перезагружаю свой сервер, и Apache мертв, веб-сайты не работают. Похоже, Apache пытается выполнить привязку ко всем IP-адресам... но почему?

Если я проверю, почему, выдав: статус службы apache2

apache2.service — HTTP-сервер Apache
     Загружено: загружено (/lib/systemd/system/apache2.service; включено; предустановка поставщика: включена)
     Активно: сбой (результат: код выхода) со среды 15-12-2021 00:25:19 CET; 18 сек. назад
       Документы: https://httpd.apache.org/docs/2.4/

15 декабря 00:25:19 г systemd[1]: запуск HTTP-сервера Apache...
15 декабря 00:25:19 г apachectl[563]: AH00558: apache2: Не удалось надежно определить полное доменное имя сервера с помощью [ipv6 addr]. Установите «СерверN>
15 декабря 00:25:19 г apachectl[563]: (99) Невозможно назначить запрошенный адрес: AH00072: make_sock: не удалось выполнить привязку к адресу 1.2.3.4:80
15 декабря 00:25:19 г apachectl[563]: нет доступных прослушивающих сокетов, завершение работы
15 декабря 00:25:19 г apachectl[563]: AH00015: невозможно открыть журналы
15 декабря, 00:25:19, apachectl[549]: действие «старт» не удалось.
15 декабря, 00:25:19, apachectl[549]: в журнале ошибок Apache может быть дополнительная информация.
15 декабря 00:25:19 г systemd[1]: apache2.service: Процесс управления завершен, код = завершено, статус = 1/FAILURE
15 декабря 00:25:19 г systemd[1]: apache2.service: Ошибка с результатом «код выхода».
15 декабря, 00:25:19, systemd[1]: не удалось запустить HTTP-сервер Apache.
  • ОС представляет собой базовую версию Ubuntu 20.04.3 LTS, работающую на сервере.
  • У сервера есть два (ipv4) IP-адреса, и я хочу, чтобы Apache привязывался только к 1 ipv4.

/etc/apache2/ports.conf содержит только это:

Слушать 1.2.3.4:80
<IfModule ssl_module>
        Слушать 1.2.3.4:443
</ЕслиМодуль>

<IfModule mod_gnutls.c>
        Слушать 1.2.3.4:443
</ЕслиМодуль>

Каждый VirtualHost содержит только:

<VirtualHost *:80>
</VirtualHost>

И отдельный конфиг для SSL (автоматически созданный Certbot ACME).

Apache avatar
флаг nu
Таким образом, очевидно, что «перезапуск службы apache2» (который работает) отличается от службы, которая вызывается при загрузке. Но почему?
флаг in
Есть ли что-нибудь в `/var/log/apache2/error.log`, чтобы лучше объяснить проблему? Также может быть полезно просмотреть `/var/log/syslog`, чтобы увидеть, запускается ли Apache до того, как заработают сетевые интерфейсы, что, безусловно, вызовет такого рода проблему.
Рейтинг:0
флаг nu

Судя по всему, это новая ошибка/проблема, касающаяся Мейлкоу, или это связано с сетью, если у вас есть несколько IP-адресов на интерфейсе. В Ubuntu 18.04 это Netplan. (Поэтому в основном я не могу определить виновника на данный момент.)

Тем не мение. Вот обходной путь (престижность Майклу).
В /etc/sysctl.conf, добавьте эти строки в конец:

сеть.ipv4.ip_nonlocal_bind=1
net.ipv6.ip_nonlocal_bind=1

Видеть документы.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.