Apache如何访问由root用户创建的SSL证书?

vai*_*dik 5 linux sysadmin apache apache2 nginx

我有一个运行Apache HTTPD的Debian服务器。

我已将其配置为使用驻留在/ etc / ssl / private /中的某些SSL证书。只有root用户具有对该目录的读写权限。HTTPD进程以www-data用户身份运行,但由root用户使用init.d脚本(HTTP安装随附)启动。

当apache2进程作为www-data运行并且SSL证书只能由root用户读取时,Apache如何能够毫无问题地读取证书和功能?

我为使用Python编写的自定义服务器编写的init.d脚本面临类似的问题。只要我不使用SSL证书,此init.d脚本就可以正常工作。一旦我添加了这些证书,该过程就不会开始,因为它无法读取证书,因为www数据用户无法读取证书。

在相似的情况下,我也使用过nginx,结果与使用Apache时相似。那么这两个项目如何解决这个问题?

M. *_*del 4

当你跑步时

ps aux | grep apache2
Run Code Online (Sandbox Code Playgroud)

你会注意到有一个root拥有的进程,我想这可能就是原因,因为这个进程可以访问root拥有的文件/目录。