【发布时间】:2012-05-30 13:12:48
【问题描述】:
我在 rackspace 上启动了一个 CentOS 服务器并执行了yum install httpd'd。然后services httpd start。所以,只是准系统。
我可以通过 ssh (22) 远程访问它的 IP 地址没问题,所以 DNS 或其他任何东西都没有问题(我认为...),但是当我尝试在端口 80 上连接时(通过浏览器或其他东西) ) 我得到连接被拒绝。
但是,从本地主机,我可以使用 telnet (80),甚至可以在其自身上使用 lynx,并且可以毫无问题地获得服务。从外面(我的房子、我的学校、当地的咖啡店等),telnet 在 22 上连接,但不是 80。
我使用netstat -tulpn(-tulpn 部分,但这就是互联网告诉我要做的......)然后看看
tcp 0 0 :::80 :::* LISTEN -
我相信我应该这样做。 httpd.conf 表示 Listen 80。
我有很多次services httpd restart'd。
老实说,我不知道该怎么做。机架空间不可能对传入的端口 80 请求设置防火墙。我觉得我错过了一些愚蠢的东西,但我现在已经启动了两次准系统服务器,并且已经做了绝对最低限度的工作来让这个功能正常运行,我认为我的修补程序把事情搞砸了,但都没有奏效。
非常感谢任何帮助! (对于冗长的帖子感到抱歉......)
编辑
我被要求发布iptables -L 的输出。所以这里是:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
【问题讨论】:
-
你为什么要责怪 Apache(Tomcat)?必须有一些防火墙或 iptable 设置在端口 80 上丢弃外部数据包。我认为 Apache 不会进入那个级别来过滤数据包,最好让底层操作系统提供的网络实用程序完成这项工作。还是这样做的?
-
哎呀我明白了!绑定文档,tomcat 提供这些选项。最好通过它找到它的详细信息。
-
SO 题外话;属于Server Fault
标签: linux apache webserver centos