This topic has been archived. It cannot be replied.
-
工作学习 / 学科技术讨论 / 坛子里有没有apache的高人?在一个高清播放器里装了个apache,经过修改配置,可以启动了,但是打开浏览器显示不出任何东西,浏览器状态是"Waiting for IP...".netstat可以看到端口连接已经建立.error-log里看不出什么可疑,access-log没有记录系统是Linux PBO1 2.6.12.6-VENUS #10,内置有web server在80,8081,8082上,但ps里只找到了lighttpd监听8081.为了减少冲突,也杀掉了.我的apache听8000,应该也不冲突.请问还有什么招看看问题在哪里?
-akoei(停车**枫林晚);
2012-2-21
{181}
(#7300236@0)
-
补充一下:启动显示~ # apachectl start
httpd: Could not reliably determine the server's fully qualified domain name, using c0a8:51d:78b1:f27f:: for ServerName
-akoei(停车**枫林晚);
2012-2-21
(#7300242@0)
-
这只是个warning,没关系的。 "telnet ip 8000" 然后 “GET / HTTP/1.0" 回车, 或者 "GET / HTTP/1.1" 有什么输出? 或者用wget 去访问,看有什么结果。
-holdon(again);
2012-2-24
(#7309768@0)
-
结果是什么都没有. 又试了80口,回车后什么都没有,ctrl-C以后问l/c/z/e.选了l,是goto line mode,之后一堆输出,最前面有200OK,看来8000后还是有问题;同样,wget 80就有输出, 8000就什么都没有,也回不到console, 必须ctrl-C中断. 下面该怎么做?
-akoei(停车**枫林晚);
2012-3-2
(#7325627@0)
-
没仔细看你的原贴,跟着小兔让你去试8000端口, 现在看来8000可能不是http service,是什么别的东西。你先确定你的apache 到底是在听那些端口?
-holdon(again);
2012-3-3
{590}
(#7326870@0)
-
谢谢了. 监听的http端口就是80.8081,8082,8000. 没有装ssl协议,所以没有https的,wget也证明了这一点.因为netstat没有-p参数,不知道80哪来的,但确实有缺省的PBO的web服务可以访问;8081是lighttpd提供的,是这个定制的固件加进去的,不过我没找到8082由
-akoei(停车**枫林晚);
2012-3-6
{7283}
(#7332310@0)
-
Listen 8000 => Listen *:8000
-bentley(小兔);
2012-3-6
(#7332873@0)
-
试了,没有区别:((
-akoei(停车**枫林晚);
2012-3-6
(#7333416@0)
-
netstat 不支持 -p, 那么系统有 lsof 吗? 另一个方法是 lsof | grep -i tcp | grep -i listen
你能看到那个进程听那个端口。
-holdon(again);
2012-3-6
(#7334190@0)
-
装了一个lsof, 这是输出. 8000是httpd没错,不过80和8081都是由root跑得,可是我这个apache不让root跑,搞得我非建了一个apache账户,也不知权限有没有设对.
-akoei(停车**枫林晚);
2012-3-7
{5520}
(#7336071@0)
-
看着是起来了啊。ServerRoot "/opt",ErrorLog "var/apache2/log/error_log, 看来你的配置都是相对路径,你看看 /opt/var/apache2/log/ 里有没有error_log,看能找到点什么?
-holdon(again);
2012-3-7
(#7337431@0)
-
ErrorLog "var/apache2/log/error_log" 似乎少个 /。 另外你load 了太多module,建议全注释掉,然后重启httpd (修改配置后一定要重启或者reload 配置)。如果工作,可以一点一点加回去,看哪个module有问题。
-holdon(again);
2012-3-6
(#7334217@0)
-
试了,注释了也一样:(
-akoei(停车**枫林晚);
2012-3-7
(#7336236@0)
-
log如下:
-akoei(停车**枫林晚);
2012-2-21
{2976}
(#7300251@0)
-
did you try telnet hostname 8000 ( from both local and remote )?
-bentley(小兔);
2012-2-23
(#7305173@0)
-
试了, 有反应
-akoei(停车**枫林晚);
2012-2-23
(#7305819@0)
-
(1) got response both locally & remotely? can u post the response? (2) also check if file system full or accessible by apache process id (3) ps -al | grep http ( ?apache )
-bentley(小兔);
2012-3-6
(#7334387@0)
-
1.有反应就是没有拒绝,有服务在听端口,可是没有任何输出.没法远程试,因为telnet没法设proxy:(2.我也想知道.我自己创建了一个apache用户,root组,但是没有额外设权限.应该给什么权限?3.ps都有输出,进程起来了
-akoei(停车**枫林晚);
2012-3-7
(#7336267@0)
-
(1) check user/group directives in apache config (2) check if pid & error/access log created ( can compare with the instance listening 80/8081 as root ).u may need to use different file name for pid & logs (3) kill all 8000 httpd process before retry
-bentley(小兔);
2012-3-7
(#7337122@0)
-
我的设置是user apache;group root;并且把docroot改成apache:root了,还设成了777;error-log有内容,access-log是空的;inetd和lighttpd都有pid,可是httpd没有.哪里能定义pid设置?
-akoei(停车**枫林晚);
2012-3-8
(#7338825@0)
-
pid也找到了,有的,不过是root:root,有点奇怪吗?
-akoei(停车**枫林晚);
2012-3-8
(#7338839@0)
-
不奇怪。httpd 1205 root 3u IPv4 2150 TCP *:8000 (LISTEN)
httpd 1379 apache 3u IPv4 2150 TCP *:8000 (LISTEN)
httpd 1380 apache 3u IPv4 2150 TCP *:8000 (LISTEN)
httpd 1381 apache 3u IPv4 2150 TCP *:8000 (LISTEN)
httpd 1382 apache 3u IPv4 2150 TCP *:8000 (LISTEN)
httpd 1383 apache 3u IPv4 2150 TCP *:8000 (LISTEN)
第一个进程是root,所有的子进程都是apache. 不过还是不知道为什么不工作。
如果没有error_log,那可能只能通过strace了,估计很麻烦,重装吧:-)
-holdon(again);
2012-3-8
{450}
(#7340542@0)
-
it seems there're 2 httpd instances (A) lighttpd listening to 80/8081/8082 (B) yours listening to 8000. can B ( run as apachectl:root ) overwrite A pid ( root:root ) & logs? u need to set (B) pid/log use different file name
-bentley(小兔);
2012-3-9
(#7344698@0)
-
pid都是不同位置的,log也不在一起。。
-akoei(停车**枫林晚);
2012-3-10
(#7345129@0)
-
这句没明白,为什么远程测试要proxy?如果你可以ssh到这个box,你可以设个ssh tunnel 到8000口,那就可以远程试了?
-holdon(again);
2012-3-7
(#7337444@0)
-
这个box没有sshd,只有telnetd.我从外面ssh到家里其他box再telnet其8000口,在netstat里是可以看到8000有连接建立的;若是外面使用浏览器直接连,也是可以看到8000建立连接的
-akoei(停车**枫林晚);
2012-3-8
(#7338860@0)
-
如果你不在家,可以通过ssh 到家里一台有ssh的机器,同时建立ssh tunnel 到这台机器的8000端口,就能远程测试了。
-holdon(again);
2012-3-8
(#7340551@0)
-
试了,还是一样,就是没有拒绝,但也没有任何输出.netstat显示的是syc_recv,不过要是使用浏览器就是established.还有什么主意?重装恐怕没用,重装了很多次了,使用ipkg重装的
-akoei(停车**枫林晚);
2012-3-9
(#7342242@0)
-
你这是个比较特别的系统,如果只是要个web server, 不是已经有个工作在80口了吗?你可以查/etc/xinet.d/,看http 是怎么配的,然后改它的配置文件。
-holdon(again);
2012-3-9
(#7344637@0)
-
我需要forward proxy.内置的xinet.d肯定不支持;lighttpd支持proxy,但是支持forward proxy吗?我网上查过,没人说支持,你知道吗?
-akoei(停车**枫林晚);
2012-3-12
(#7349904@0)
-
as long as it has a mod_proxy module, it should support proxy ( forward proxy should be the most common usage of proxy )
-holdon(again);
2012-3-13
(#7353625@0)
-
谢谢提醒.以前简单search了一下,多说lity不能forward proxy,就没试.刚才一试,http完全可以forward到其他host上,但是我的要求是forward到22端口,看netstat是建立了和目的22的连接,但是使用putty等候半天后是连接关闭;使用telnet后最后返回的是HTTP的bad request.是不是因为端口是lity在听,所以要用lity能懂的协议(http/s)才行?
-akoei(停车**枫林晚);
2012-3-14
{132}
(#7355886@0)
-
You need proxy to allowconnect. looks like lighttpd doesn't support it. http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_proxy-proxy it doesn't have a allowconnect option.Not sure why you need this.
If you just want to be able to ssh into a home machine on port 80, you can just configure your router to forward public ip:80 -> internal linux:22
Then you can ssh from that machine to any internal machine.
The only benefit for a connect proxy is if you have one, you can use it as http proxy to ssh into any internal linux machines, but doesn't seem to be a big gain.
-holdon(again);
2012-3-15
{406}
(#7358752@0)
-
that way a IDS signature can easy detect SSH client initial a connection...
-akoei(停车**枫林晚);
2012-3-16
(#7360587@0)