3
我試圖得到一個數值從netcat的連接開始在一個PHP文件,但它與死亡:netcat的「連接被拒絕」 localhost上
localhost [127.0.0.1] 2000 (?) : Connection refused
我不知道爲什麼,但它運作良好如果我ssh它作爲apache用戶(www數據),這是我做了什麼:
1)啓動一個無限循環服務的日期一點點延遲:
$ (while true; do nc -l -p 2000 -c "sleep 5; date"; done)&
2)檢查正在工作:
$ su www-data
$ nc localhost 2000
Fri Oct 16 21:33:20 COT 2009
3)創建/var/www/test.php如下:
<pre><?php
exec('nc localhost 2000>>/var/www/dates.txt 2>>/var/www/errors.txt &');
?></pre>
4)在瀏覽器中運行它:
http://myserver.com/test.php
5)最後來看看這兩個txt的,日期是空的(沒有像#2中的響應),並且錯誤具有「連接被拒絕」錯誤。
該服務器是一個運行帶有DRBD和Heartbeat的Ubuntu Server 9.04的LAMP羣集。
什麼讓我發瘋的是,這test.php的工作以及在我的筆記本電腦(LAMP在Ubuntu桌面9.04)和服務器似乎已經在口岸的開放和聽力:
$ netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:4743 0.0.0.0:* LISTEN 2326/openhpid
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3364/mysqld
tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 9510/nc
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3470/apache2
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2320/sshd
tcp 0 0 127.0.0.1:3551 0.0.0.0:* LISTEN 2354/apcupsd
tcp6 0 0 :::22 :::* LISTEN 2320/sshd
我想這是一個與編程有關的問題吧?如果不是隻是關閉它沒有任何意見請。
先進的感謝!
這可能屬於對serverfault.com但無論如何...你可以檢查的AppArmor正在執行?在'/ var/log/kern.log'中尋找'audit'。 – ephemient 2009-10-17 04:44:22
我刪除了AppArmor來配置羣集,該日誌中沒有審覈條目,但謝謝! – coma 2009-10-17 16:23:03
您是否嘗試將netvc調用添加-vv,以使netcat的輸出更加冗長? – rodion 2009-10-18 22:21:28