当前位置: 首页 > 面试题库 >

apache不接受来自本地主机的传入连接

裴凯定
2023-03-14
问题内容

我已经在机架空间上启动了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.confListen 80

我已经有services httpd restart很多次了。

老实说,我不知道该怎么办。机架空间无法在传入端口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

问题答案:

万一还没有解决。您的iptables说:

状态相关,已确定

这意味着它只允许通过已经建立的连接,而不是由远程计算机建立的连接。然后,您可以在以下规则中看到此例外:

state NEW tcp dpt:ssh

仅对ssh有效,因此您应该为http添加类似的规则/行,您可以这样操作:

state NEW tcp dpt:80

您可以这样做:

sudo iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

(在这种情况下,我选择在第四行中添加新规则)

请记住,编辑文件后,应按以下方式保存文件:

sudo /etc/init.d/iptables save


 类似资料:
  • 我有以下配置: 两个正在运行的Tomcat实例运行Apache Camel 2.20.2,它们使用竞争消费者概念来读取同一JMS消息队列的消息 碰巧,其中一个Camel实例连接到从属代理,即使从属代理未处于活动状态(即,从日志文件中可以看出,它没有锁定CAHADB)。 当这种情况发生时,驼峰实例上的路由被阻塞,我们得到一个,这会阻塞路由,消息正在排队。 从属代理接受来自客户端应用程序的连接(在我们

  • 我正在运行Codeception来对付一个Laravel Homestead流浪汉实例。PHP版本5.5。12,拉威尔4.*。Codeception版本2.0。0 我可以使用localhost:8000127.0通过Chrome访问该网站。0.1:8000,或mysite。app:8000。该网站还远程部署在一台AWS服务器上,该服务器没有域名,但有一个公共IP地址,通过Chrome查看时可以正常

  • 问题内容: 我有一个SocketServer接受传入的连接。出于安全原因,我只应允许本地连接(来自运行服务器的计算机的连接)。 如何确定传入连接是否来自另一台计算机?以下代码是否对此安全? 而方法是这样的: 谢谢,莫森 问题答案: 如果要限制来自本地主机的连接,请在打开ServerSocket时指定该连接。如果仅侦听localhost,则只能从localhost获得连接。

  • 问题内容: 因为数据量不是我的Web应用程序需要加载的大小,它有时会变得很慢,因此我决定添加一些jQuery ajax函数以根据请求加载某些数据,然后将其保存在缓存中。 我想知道的是如何限制任何来自本地主机/相同服务器/相同ip的请求或仅来自本地/相同服务器/相同ip的请求,这样才能避免从外部对我的应用程序进行任何调用? 这意味着我的返回数据的php函数仅应从本地主机请求返回数据。 我的Web应用

  • 因此,我有一个应用程序,我将在其上构建,但我不能让它工作,因为Tomcat不会启动(下面的错误消息)。我已经找到了属性文件,可以在该文件中调整错误消息中列出的值,但是我尝试的方法都无效。 我几乎排除了使用相同端口的另一个程序,并且我还调整了用户值...有没有办法解决连接到本地主机的问题?也许通过命令行? 非常感谢任何帮助!

  • 德比文件说 德比。博士。主机名=主机名 该属性监听主机的网络连接,即接受来自主机的连接。如果指定了0.0.0.0,则接受来自任何主机的连接。 现在,我有三台远程计算机,,,。 我的derby服务器正在hostA上运行 所以,我写了 然而,这是行不通的。还有别的办法吗? 编辑: 当我将属性设置为 然后和不能连接到服务器。他们低于例外 JAVAsql。SQLNonTransientConnection