私钥文件权限必须设为600,因为apache启动时会主动校验,权限过宽(如644)将拒绝加载并报“permission denied”或“rsa private key not readable”,linux要求仅属主可读写,windows需限制ntfs权限仅system和管理员访问。

私钥文件权限必须严格限制,否则 Apache 启动时会拒绝加载,或提示“Permission denied”“RSA private key not readable”等错误。
为什么私钥权限不能太宽松
私钥是 HTTPS 通信安全的核心。如果被其他用户或进程读取,攻击者可伪造服务器、解密流量甚至中间人劫持。Apache 在启动时会主动检查私钥文件权限,Linux 下要求:仅属主可读写(600),Windows 下则需确保只有 SYSTEM 和管理员能访问。
Linux 系统设置方法
生成私钥后立即执行以下命令:
PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
- chmod 600 /etc/httpd/ssl/server.key(CentOS/RHEL 路径示例)
- 若私钥由 root 创建,确认属主为 root:chown root:root /etc/httpd/ssl/server.key
- 避免放在 Web 可访问目录(如
/var/www/html),防止意外暴露
Windows 系统注意事项
Windows 不依赖 chmod,但需手动控制 NTFS 权限:
- 右键私钥文件 → “属性” → “安全”选项卡
- 移除 Users、Everyone 等非必要组的“读取”权限
- 仅保留 SYSTEM、Administrators 和运行 Apache 服务的账户(如 Local Service)
- 特别注意:不要用
-des3加密私钥——Windows 版 Apache 不支持交互式输入密码,会导致启动失败
验证是否生效
配置完成后,用以下方式快速确认:
- Linux:ls -l /etc/httpd/ssl/server.key —— 输出应类似
-rw-------. 1 root root - 重启 Apache:systemctl restart httpd(或 httpd -t 检查语法)
- 查看错误日志:tail -n 20 /var/log/httpd/error_log,无“permission denied”即通过










