本文主要是介绍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使其长期生效。
这篇关于linux安装好httpd后,测试总是访问到系统默认页面的问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!