linux安装好httpd后,测试总是访问到系统默认页面的问题及解决
linux安装好httpd后,测试总是访问到系统默认页面问题
测试lvs的相关模式的时候,安装好httpd并启动后,用curl访问后端测试页面却总是会访问到Apache的欢迎页面。

查找了半天也没看出配置有什么问题。包括查看配置文件中默认的欢迎页面配置,并修改欢迎页面的配置(/etc/httpd/conf.d/welcome.conf);重启httpd服务等都无法解决问题。
最后查看了httpd的日志才找出问题原因。
日志路径为
/var/log/httpd
其中有两个日志,一个错误日志,一个服务执行的日志。
错误日志显示:请求被拒绝了。
[Tue Aug 24 10:02:02.348678 2021] [core:error] [pid 2025] (13)Permission denied: [client 192.168.42.42:52332] AH00035: access to /index.html denied (filesystem path '/var/www/html/index.html') because search permissions are missing on a component of the path
执行日志里返回码为403,也就是被服务器拒绝了。

查看了相关目录都是有可执行权限的,权限这块是没问题的。
防火墙目前也是关闭的。
firewall-cmd --state

注意
如果防火墙未关闭,
会报另一个错误:

最后发现是被SELinux安全模块限制了,查看SELinux配置可以看到安全策略为强制模式。

先将安全策略临时改为permissive(宽容模式)
这个模式会将违反策略的行为记录到日志中,而不是直接阻止该行为。
setenforce 0
改完后进行测试,发现已经可以访问自己的测试页面了。

在 /var/log/audit/audit.log 中可以看到违反策略的相关记录,可以进行分析,这里只为解决问题,就先不分析了。

可以修改配置文件/etc/selinux/config中SELINUX=permissive使其长期生效。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
解决make: *** [Makefile:719: ext/openssl/openss
在Ubuntu系统上编译安装PHP7.4.33时遇到OpenSSL库文件缺失的错误,因为Ubuntu22.04的默认OpenSSL版本与PHP不兼容,解决方法是安装低版本的openssl包,并在编译PHP时指定openssl路径2024-12-12
Linux集群/分布式环境下session处理的五种策略详解
这篇文章主要给大家介绍了关于Linux集群/分布式环境下session处理的五种策略,文中通过示例代码及图片介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。2017-09-09
centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解
这篇文章主要介绍了centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解,需要的朋友可以参考下2016-10-10
CentOS7使用yum安装PostgreSQL和PostGIS的方法
这篇文章主要介绍了CentOS7使用yum安装PostgreSQL和PostGIS的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2019-09-09


最新评论