簡體   English   中英

apache2 + MPM-ITK + PHP = 套接字不起作用

[英]apache2 + MPM-ITK + PHP = socket doesn't work

我有 2 台服務器運行專有軟件,我可以通過特定端口訪問並發送/接收 JSON 字符串。 在兩台服務器中,我都為每個虛擬主機安裝了帶有 ITK 的 apache2。 在服務器“A”中,我有一個 PHP 腳本,它使用套接字連接到服務器“A”和“B”以獲取數據並顯示在網頁上。 問題是 PHP 只能連接到服務器“A”(localhsot),而無法連接到服務器“B”。 PHP 沒有顯示任何錯誤(顯示錯誤在 php.ini 中),當我嘗試從套接字獲取最后一個錯誤時(我現在不記得 php 函數),我什么也沒得到。 在 apache 日志上,我收到此錯誤:

不允許的操作:AH02156:setgid:無法將組 ID 設置為組 0

主機之間沒有防火牆阻止,我可以在任何方向“telnet”兩台服務器而沒有任何問題。 只是 PHP 不連接到“外部”hsot,只是本地主機。 我的 vhost 文件中唯一的變化是添加 itk 選項:

分配用戶 ID rpi rpi

所以我的問題是:如何配置 apache-itk 以允許我的 PHP 打開外部套接字? 我試圖將 LimitUIDRange 更改為“LimitUIDRange 0 0”,但沒有成功。

可能與 Apache 模塊有關:

mpm_itk_module

分配用戶 ID

阿帕奇配置。

請看這個鏈接:

我正在嘗試解決同樣的問題。

如果你設置LimitUIDRange 0 0 ,那意味着只允許 root ,這是沒有意義的。 正確的指令是LimitUIDRange 0 65534LimitGIDRange 0 65534 只要您不將任何主機設置為以 root 身份運行,這並不比默認的 apache 更不安全。 特別是這並不意味着網站用戶可以更改自己的用戶 ID。 但是,他們將被允許運行設置了 setuid 位的可執行文件,就像任何其他普通用戶一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM