Платформа: CentOS Linux версии 7.5.1804
У меня есть недавно установленный apache2, и мне нужно, чтобы он прослушивал порт, отличный от порта по умолчанию, чтобы соответствовать политике брандмауэра хоста.
Я меняю httpd.conf на
Слушай 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 от имени. Чтобы убедиться, процессы не работают достаточно долго.
Есть идеи, что происходит?
И интересный ответ заключается в том, что вам нужно сообщить CentOS, что порт будет использоваться для http!
semanage port -a -t http_port_t -p tcp 7800
было все, что было нужно.