繁体   English   中英

无法访问 CentOS httpd

[英]Couldn't access CentOS httpd

我一直在使用 Ubuntu,最近才开始在我的桌面 (Ubuntu) 上的 VMplayer 中运行 Centos(CentOS Linux 版本 7.1.1503(核心))。

  • 分支新的 CentOS 安装。
  • 安装了 httpd(使用“yum”)
  • 出于某种原因,httpd 没有自动启动,我运行了“service httpd start”,它根据“netstat -antp”启动。

     [root@localhost ~]# netstat -antp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1161/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1620/master tcp 0 0 10.0.0.19:22 10.0.0.7:20383 ESTABLISHED 2421/sshd: root@pts tcp6 0 0 :::80 :::* LISTEN 2453/httpd tcp6 0 0 :::22 :::* LISTEN 1161/sshd tcp6 0 0 ::1:25 :::* LISTEN 1620/master
  • 我可以在本地访问 http 服务器(在 CentOs 命令行中curl http://localhost

  • 当我尝试从主机curl http://172.16.13.143/访问 httpd 时,它拒绝了 TCP 连接。 我能够 ssh 进入它,它适用于 ssh ssh root@172.16.13.143
  • 我已经停止 iptables service iptables stop
  • 根据getenforce命令关闭 SELinux。

我只需要在 Web 界面上进行快速测试,但我不能。 真的需要一些帮助。 谢谢。

安装在 RHEL/CentOS/Fedora 系统上的软件包不应该自动启动任何服务(因为在配置它之前,您可能还没有准备好向世界公开您的服务)。

运行service httpd start会暂时启动该服务,但下次启动时不会启动。 您希望systemctl enable httpd使服务在您启动系统时自动启动。

您可以检查防火墙是否真的被禁用。 运行iptables -S以查看当前规则集。 默认的 iptables 配置通常只允许ssh而不允许其他任何东西。

更新

您的系统可能正在运行firewalld来管理防火墙。 尝试service firewalld stop

您可以运行systemctl disable firewalld以防止它在您的系统下次启动时启动。

-- CentOS 7

将以下内容添加到“/etc/httpd/conf/httpd.conf”

Replace:
Listen 80

With:
Listen 0.0.0.0:80

这将禁用 ipv6 并启用 ipv4

要检查此类型:

netstat -an | grep -i tcp | grep -i listen

重启apache服务

systemctl restart httpd.service

另外,启用防火墙访问端口 80

firewall-cmd --permanent --add-service=http
firewall-cmd --reload

您是否执行了iptables -L以确保没有防火墙正在运行?

执行以下命令以确保没有其他防火墙也在运行

ps -ef

正在收听“80”,因此某些内容正在阻止您的连接看起来像

在标准安装中,CentOS 7 设置为阻止到 Apache 的流量。

将端口添加到防火墙:

对于 http:

sudo firewall-cmd --permanent --add-port=80/tcp 

对于 https:

sudo firewall-cmd --permanent --add-port=443/tcp 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM