Apache2 无法作为服务打开套接字

Apache2 无法作为服务打开套接字

平台:CentOS Linux 版本 7.5.1804

我有一个刚刚安装的 apache2,我需要让它监听非默认端口以适应主机的防火墙策略。

我将 httpd.conf 改为

收听 7800

当我启动服务时

systemctl 启动 httpd

得到错误

6月20日 09:58:46 ian-ui-esb2 httpd[4834]: (13)权限被拒绝: AH00072: make_sock: 无法绑定到地址 [::]:7800

我使用 lsof 检查了端口未被使用。此外,我还尝试使用以下方法手动启动 httpd:

/usr/sbin/httpd

注意:我以 root 身份执行此操作,因此没有收到权限错误可能并不奇怪。

它运行正常,确实在 7800 上监听,我在浏览器中看到了欢迎页面。我关闭了手动启动的 httpd,浏览器无法连接 - 所以我毫不怀疑我确实在 7800 上运行了 apache。

服务文件与默认安装相同,没有修改。没有特殊用户信息。我不确定 systemctl 会尝试以哪个用户身份运行 httpd。进程持续时间不够长,无法确定。

知道发生什么事了吗?

答案1

有趣的答案是您需要告诉 CentOS 该端口将用于 http!

semanage port -a -t http_port_t -p tcp 7800

就是所需要的一切。

相关内容