apache2 + MPM-ITK + PHP =套接字无法正常工作

时间:2017-06-15 02:17:00

标签: php apache sockets

我有2台运行专有软件的服务器,我可以通过特定端口访问并发送/接收JSON字符串。 在这两个服务器中,每个虚拟主机都有一个带有ITK的apache2。 在服务器" A"中,我有一个PHP脚本,它使用套接字连接到服务器" A"和" B"获取数据并在网页上显示。问题是PHP只能连接到服务器" A" (localhsot),但无法连接到服务器" B"。 PHP没有显示任何错误(在php.ini中显示display_errors),当我尝试从套接字中获取最后一个错误时(我现在不记得php函数),我什么都没得到。 在apache日志中,我收到了这个错误:

  

不允许操作:AH02156:setgid:无法将组ID设置为   第0组

主机之间没有防火墙阻止,我可以通过telnet'两台服务器在任何方向都没有任何问题。只是PHP没有连接到外部' hsot,只是localhost。 我的vhost文件中唯一的变化是添加itk选项:

  

AssignUserId rpi rpi

所以我的问题是:如何配置apache-itk以允许我的PHP打开外部套接字? 我试图将LimitUIDRange更改为" LimitUIDRange 0 0",但没有成功。

2 个答案:

答案 0 :(得分:0)

可能与Apache模块有关:

  

mpm_itk_module

  

AssignUserId

Apache配置。

请看这个链接:

我试图解决同样的问题。

答案 1 :(得分:0)

如果设置LimitUIDRange 0 0,则意味着只允许root用户,这是没有意义的。正确的伪指令将是LimitUIDRange 0 65534LimitGIDRange 0 65534。只要您不将任何主机设置为以root用户身份运行,这都不会比默认apache更不安全。特别是,这并不意味着允许网站用户更改其自己的用户ID。但是,将像其他普通用户一样,允许他们运行将setuid位置1的可执行文件。