我有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",但没有成功。
答案 0 :(得分:0)
可能与Apache模块有关:
mpm_itk_module
或
AssignUserId
Apache配置。
请看这个链接:
我试图解决同样的问题。
答案 1 :(得分:0)
如果设置LimitUIDRange 0 0
,则意味着只允许root用户,这是没有意义的。正确的伪指令将是LimitUIDRange 0 65534
和LimitGIDRange 0 65534
。只要您不将任何主机设置为以root用户身份运行,这都不会比默认apache更不安全。特别是,这并不意味着允许网站用户更改其自己的用户ID。但是,将像其他普通用户一样,允许他们运行将setuid位置1的可执行文件。