![将 mod_wsgi 与 mpm_itk 结合使用:套接字权限问题](https://linux22.com/image/597851/%E5%B0%86%20mod_wsgi%20%E4%B8%8E%20mpm_itk%20%E7%BB%93%E5%90%88%E4%BD%BF%E7%94%A8%EF%BC%9A%E5%A5%97%E6%8E%A5%E5%AD%97%E6%9D%83%E9%99%90%E9%97%AE%E9%A2%98.png)
我将其用作mod_itk
MPM,以提高共享环境中的安全性。我还在我托管的其中一个 VHost 中安装了 Firefox Sync Server。该 vhost 通过 限制为特定用户AssignUserId user group
。
问题是套接字/var/run/wsgi...whatever.sock
已被 chmoddedsrwx------
并归 Apache 所有wwwrun
。虽然我使用配置了 vhost
WSGIProcessGroup sync
WSGIDaemonProcess sync user=djechelon group=djechelon processes=1 threads=5
我仍然收到错误,即 Apache 想要访问无法访问的套接字,因此出现错误。
是否可以配置 mod_wsgi 以便为不同的应用程序创建具有不同所有者的不同套接字,或者以不同的方式(不太安全)对其套接字进行 chmod?
目前,我正在运行 Firefox Sync 作为唯一的 WSGI 应用程序。将其移动到没有 Sync 的虚拟主机AssignUserId
可以解决这个问题,但会迫使我更改 URL(并购买额外的 SSL 证书),所以我不会考虑这个
答案1
您需要 mod_wsgi 3.3 或更高版本,并且 mod_wsgi 源代码必须针对完整的 Apache 进行编译,其中包含与 ITK MPM 对应的开发人员头文件。您不能使用针对 worker 或 prefork MPM 编译的 mod_wsgi 二进制文件,因为您需要的 ITK 支持是编译时的事情。
不幸的是,提供 ITK MPM Apache 变体作为选项的 Linux 发行版似乎不提供与同一 ITK MPM 相对应的 httpd-dev 或 apache2-dev 软件包变体。因此,人们通常最终不得不使用 ITK MPM 和带有 ITK 版本 mpm.h 的适当头文件从源代码构建自己的 Apache,才能使其工作。