Apache2 не может открыть сокет как услугу

Платформа: CentOS Linux версии 7.5.1804

У меня недавно установлен apache2, и мне нужно, чтобы он прослушивал порт, отличный от порта по умолчанию, чтобы соответствовать политике брандмауэра хоста .

Я изменяю httpd.conf на

Listen 7800

И когда я запускаю службу с помощью

systemctl start httpd

, получаю сообщение об ошибке

20 июня 09:58:46 ian -ui-esb2 httpd [4834]: (13) В доступе отказано: AH00072: make_sock: не удалось выполнить привязку к адресу [::]: 7800

. Я проверял, что порт не используется, с помощью lsof. Более того, я пробовал запустить httpd вручную, используя

/ usr / sbin / httpd

. Примечание. Я делаю это как root, поэтому неудивительно, что я не получаю ошибку с правами доступа.

И это нормально, и действительно, когда я слушаю 7800, я вижу страницу приветствия в браузере. Я отключаю запущенный вручную httpd, и браузер не может подключиться, поэтому я не вижу никаких сомнений в том, что я действительно запускаю apache на 7800.

Служебный файл не изменен по сравнению с установкой по умолчанию. Не имеет специальной информации о пользователе. Я не уверен, какой пользователь systemctl попытается запустить httpd от имени. Процессы не работают достаточно долго, чтобы быть уверенным.

Есть идеи, что происходит?

0
задан 20 June 2019 в 13:38
1 ответ

И интересный ответ: вам нужно сообщить CentOS, что порт будет использоваться для http!

semanage port -a -t http_port_t -p tcp 7800

- это все, что было нужно.

2
ответ дан 4 December 2019 в 13:20

Теги

Похожие вопросы