我试图在 centos 8 上设置 apache。该服务正在运行。当我用 wget 测试时,我得到 403
$ wget 127.0.0.1:9000
--2020-02-21 11:27:42-- http://127.0.0.1:9000/
Connecting to 127.0.0.1:9000... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-02-21 11:27:42 ERROR 403: Forbidden.
我将所有者更改为/var/www/html/
用户apache
组,但我没有帮助。
$ ls -laZ /var/www/html
total 8
drwxr-xr-x. 2 apache root system_u:object_r:httpd_sys_content_t:s0 4096 Dec 23 20:47 .
drwxr-xr-x. 4 root root system_u:object_r:httpd_sys_content_t:s0 4096 Feb 21 10:27 ..
当我运行自动报告时,我看到了这个
$ sudo aureport -a codingsafari@213
AVC Report
===============================================================
# date time comm subj syscall class permission obj result event
===============================================================
1. 02/16/2020 20:52:51 ? (null) 0 (null) (null) (null) unset 745
2. 02/16/2020 22:35:35 ? (null) 0 (null) (null) (null) unset 1391
3. 02/21/2020 10:29:41 httpd system_u:system_r:httpd_t:s0 49 tcp_socket name_bind system_u:object_r:websm_port_t:s0 denied 1144
4. 02/21/2020 10:29:41 httpd system_u:system_r:httpd_t:s0 49 tcp_socket name_bind system_u:object_r:websm_port_t:s0 denied 1145
在这一点上,我不知道如何进行。看来我应该允许name_bind
。我不必为 tomcat 做这个。我也期待/var/www
apache 可以毫无问题地访问它。
我在这里错过了什么吗?
很抱歉,但我认为您的问题与您系统上的实际情况不符。在香草 CentOS 8 上:
websm_port_t
当您在问题中引用 9000 时,端口 9090 被标记为。您真正在寻找哪个端口?默认情况下,端口 9000 将被标记为 Apache 使用(因此您可能需要更正您的 Apache 配置,因为它似乎试图使用端口 9090)。如果您坚持使用端口 9090,那么SELinux 端口“在策略中定义,无法删除”可能会让您感兴趣,因为该端口是
websm_port_t
由系统策略分配的。事情不在这里加起来。起初我没有注意到。一件事是 aureport 显示不相关的日志。
我在端口 9000 上获取,但在报告中我们看到 9090。此外,如果 selinux 阻止了 httpd 的端口,我们可以确定我们不会看到任何 403 甚至初始连接,因为 httpd 甚至都不会运行。
那么,如果这份报告没有用,我们如何才能获得更多有关情况的信息呢?为什么不先检查 Apache 错误日志呢?
就我而言,我看到了这一行:
Apaches 对该目录的权限很好,当我在那里放置一个实际的索引文件时,我可以毫无问题地获取它。
最后,还有一个悬而未决的问题:为什么即使网络选项卡也给出了 403,我也无法获取我可以在浏览器中看到的服务器生成的 HTML 页面?
我想使用我自己的内容,所以我并没有完全把那只兔子全下去。如果有人需要了解更多信息,我会从这里开始:https ://httpd.apache.org/docs/2.4/mod/mod_autoindex.html