Apache httpd 几个报错的解决记录
2023-04-18 14:08:16 时间
文章目录
Apache httpd 几个报错的解决记录
一 背景
今天在测试环境的 centos7.4 上使用 Docker 部署 httpd 服务时,遇到了以下3个报错:
- AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message.
- curl: (33) HTTP server doesn’t seem to support byte ranges. Cannot resume.
- AH00035: access to / denied (filesystem path ‘/usr/local/apache2/htdocs/info.tar.gz’) because search permissions are missing on a component of the path.
第一个和第三个是在 Apache httpd 的标准输出日志里的报错,第二个是在客户端访问时报错。
二 解决步骤
2.1 查资料
按照通常思路,上网搜一波,网上绝大部分解决思路都是从 SELinux,我也尝试着从 SELinux 入手,发现本机的 SELinux已禁用,问题应该不在这。期间还检查了主机的内核配置,包括 IPv4 和 IPv6 转发配置等,但都不是问题的关键点。看了好几篇 stackoverflow 的文章,仍未解决。
2.2 手动变更配置,寻找突破口
查看了原主机目录下的文件 index.html,权限是 644,不做任何挂载时,该文件是能够正常被访问到的。又看了我在主机上创建的主机目录的权限,发现主机被挂载的 volume 上一层目录的权限是:750,被挂载的文件的权限是640,忽然灵机一动,问题可能在 umask。查看该用户的 umask,果然是0027。一般情况下,某些公司出于安全考虑,可能将用户的 umask 设置为 0027。将 umask 改回常规默认值,重新创建 www 目录和放置被访问的资源,一切恢复正常。相关命令:
umask 0022
这种方式并不能永久变更 umask 的值,如需配置永久生效,可以系统启动脚本内进行配置,此处不再赘述。
相关文章
- 云原生时代下的网关V.S反向代理
- 【美团一面】为什么用final修饰String
- 套接字Socket编程
- 联想数据中心业务集团推出全新数据管理解决方案
- 天天说架构,那CDN到底是什么?
- 新一代混合云管理启示录:云化之旅成败在此一举?
- HDFS伪分布式环境搭建
- 优雅地使用 Mac OS开发
- Flowable - 6.6.0 更新说明 (主流工作流引擎)
- Spring Cloud的底层架构原理
- 从企业数字化转型到云原生解决方案
- 低价 4G 套餐不断 “消失”,分析师称与 5G 无关
- PaaS、IaaS、SaaS、Bass、Fass、无服务的理解与区别
- 快速掌握HTTP1.0 1.1 2.0 3.0的特点及其区别
- 在Greenplum中自定义操作符
- SD-WAN入门,看这一篇就够了
- 数字证书、签名到底是什么?这篇文章讲得太好了
- IBM Cloud Paks助力台湾某民营银行 快速搭建现代化数字服务平台
- 赋能开发者:葡萄城通过低代码搭建产业生态服务体系
- 多线程转账代码示例