开发者社区> 问答> 正文

httpd.service启动后,使用公网无法访问

关联开发者云场景 基于ECS搭建云上博客

在实验《基于ECS搭建云上博客》中,使用 yum -y install httpd mod_ssl mod_perl mod_auth_mysql httpd -v systemctl start httpd.service 命令后,无法访问http://ip地址

展开
收起
wuzp1230 2023-07-07 10:10:02 363 0
7 条回答
写回答
取消 提交回答
  • 防火墙默认关闭,问题不出在这里,搭建云服务器时,在安全组那里添加80号端口就行了
    image.png

    2023-08-26 01:56:35
    赞同 2 展开评论 打赏
  • 值得去的地方都没有捷径

    如果您在使用yum安装httpd并启动httpd.service后无法通过公网访问您的博客,请按照以下步骤进行排查和解决:

    1. 检查防火墙设置:确保防火墙没有阻止HTTP(80端口)的访问。您可以使用以下命令检查并打开端口:

      firewall-cmd --zone=public --add-port=80/tcp --permanent
      firewall-cmd --reload
      
    2. 检查SELinux设置:如果您的系统启用了SELinux,它可能会限制httpd服务的访问。您可以使用以下命令将SELinux设置为宽松模式:

      setsebool -P httpd_can_network_connect 1
      
    3. 检查httpd配置文件:确保httpd.conf文件中的监听地址设置为正确的IP地址或0.0.0.0以允许公网访问。打开httpd.conf文件并查找Listen指令:

      Listen 80
      
    4. 检查网络连接:确保您的服务器具有可用的网络连接,并且IP地址是正确的。

    5. 检查httpd服务状态:使用以下命令检查httpd服务的运行状态:

      systemctl status httpd.service
      

    如果仍然无法解决问题,请提供更多细节,例如您的操作系统版本和任何错误消息,以便我们更好地帮助您解决问题。

    2023-07-09 18:49:17
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    防火墙未开放 HTTP 服务端口:在 Linux 系统中,默认情况下 80 端口是关闭的,如果您没有配置防火墙规则或者开放了该端口,那么就无法访问 HTTP 服务。您可以通过命令 systemctl status firewalld.service 查看防火墙状态,如果发现防火墙未启动或者未开放 80 端口,可以使用命令 systemctl start firewalld.service 开启防火墙,并使用命令 firewall-cmd --zone=public --add-port=80/tcp --permanent 开放 80 端口。

    HTTP 服务未正常启动:如果 HTTP 服务未正常启动,就无法访问网站。您可以使用命令 systemctl status httpd.service 查看 HTTP 服务状态,如果发现服务未启动,可以使用命令 systemctl start httpd.service 启动 HTTP 服务。

    DNS 解析问题:如果您使用的是域名访问网站,而域名无法正确解析到服务器 IP 地址,那么也会导致无法访问网站。您可以使用命令 ping 域名 或者 nslookup 域名 查看域名是否正确解析到服务器 IP 地址。

    2023-07-08 07:55:48
    赞同 展开评论 打赏
  • 在实验《基于ECS搭建云上博客》中,如果您使用了yum -y install httpd mod_ssl mod_perl mod_auth_mysql httpd -v systemctl start httpd.service命令后,无法访问http://ip地址,可能有几个原因需要检查:

    确保防火墙设置正确:请确保您的服务器防火墙允许HTTP(端口80)和HTTPS(端口443)流量通过。您可以检查服务器的防火墙配置,确保这两个端口已经开放并且可以与Web浏览器进行通信。
    检查HTTP服务配置文件:在ECS系统中,HTTP服务通常由Apache服务器提供。您可以检查Apache的配置文件(通常位于/etc/httpd/conf/httpd.conf)以确保其配置正确。特别注意SSL证书和MySQL数据库的配置是否正确。
    检查MySQL数据库连接:如果您的博客应用程序需要使用MySQL数据库进行身份验证或其他功能,请确保MySQL服务器正在运行,并且可以从您的应用程序中正确访问。您可以尝试使用MySQL客户端连接到数据库服务器,并验证数据库和用户名和密码是否正确。
    检查网络连接:确保您的服务器可以正确地访问互联网。如果您的服务器无法连接到互联网,可能影响HTTP和HTTPS流量的正常访问。
    如果您已经检查了以上步骤,但是仍然无法解决问题,建议您参考ECS系统的官方文档或寻求技术支持,以获取更具体的帮助和指导。

    2023-07-07 18:54:37
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    如果在实验《基于ECS搭建云上博客》中使用了命令yum -y install httpd mod_ssl mod_perl mod_auth_mysql来安装 Apache HTTP Server,并且使用systemctl start httpd.service启动服务后无法访问网站,可以按照以下步骤进行排查:

    1. 确认防火墙配置:检查服务器的防火墙设置,确保端口80(HTTP)和443(HTTPS)已开放。你可以使用以下命令查看防火墙规则:

      firewall-cmd --list-all
      

      如果发现端口未开放,可以使用以下命令开放端口:

      firewall-cmd --zone=public --add-port=80/tcp --permanent
      firewall-cmd --zone=public --add-port=443/tcp --permanent
      firewall-cmd --reload
      
    2. 检查Apache HTTP Server配置:确认 Apache 的配置文件是否正确。主要关注以下几点:

      • httpd.conf 文件中的 Listen 指令是否指定了正确的 IP 地址和端口。
      • httpd.conf 文件中的其他配置项是否正确,如 ServerNameDocumentRoot 等。
      • 确保 Apache 已启用并且没有报错。你可以使用以下命令检查 Apache 的状态:
        systemctl status httpd.service
        
    3. 检查网络连接:确认服务器的网络连接是否正常。可以使用以下命令检查服务器的网络连接:

      ifconfig
      
    4. 检查DNS解析:确认域名或IP地址是否正确解析到服务器的公网IP。你可以使用命令 ping 或者在本地系统的 hosts 文件中添加映射关系来测试。

    5. 检查网站根目录和文件权限:确认 Apache 的配置中指定的网站根目录是否存在,并且文件和目录的权限设置正确。确保 Apache 能够读取这些文件。

    2023-07-07 12:04:12
    赞同 1 展开评论 打赏
  • 云端行者觅知音, 技术前沿我独行。 前言探索无边界, 阿里风光引我情。

    如果在实验《基于ECS搭建云上博客》中,执行了yum -y install httpd mod_ssl mod_perl mod_auth_mysqlsystemctl start httpd.service命令后,仍然无法访问http://ip地址,可能有以下几个原因和解决方法:

    1. 防火墙配置:检查防火墙配置,确保HTTP(80端口)被允许通过。您可以使用firewall-cmd命令或其他防火墙管理工具来配置防火墙规则。

    2. 网络配置:确保您的ECS实例的网络配置正确。检查网络配置,包括子网、安全组、路由表等,确保HTTP流量可以正常流入和流出。

    3. 服务状态:使用systemctl status httpd.service命令检查Apache HTTP服务器的状态。确保服务已成功启动,并且没有任何错误或警告信息。

    4. 日志查看:查看Apache HTTP服务器的访问日志和错误日志,通常位于/var/log/httpd/目录下。检查日志文件,查找任何与访问问题相关的错误或警告信息。

    5. 虚拟主机配置:如果您在Apache HTTP服务器中配置了虚拟主机,请确保虚拟主机的配置正确,并且与您的IP地址和域名匹配。

    6. SELinux配置:如果您的ECS实例启用了SELinux,检查SELinux的配置,确保它不会阻止HTTP流量。您可以使用sestatus命令查看SELinux的状态,并使用setsebool命令修改SELinux策略。

    2023-07-07 11:22:39
    赞同 展开评论 打赏
  • 如果在使用命令 systemctl start httpd.service 启动 httpd 服务后,无法通过公网访问到您的博客,可能有以下几个原因:

    1. 安全组配置:请确保您的ECS实例的安全组配置允许对http(80端口)的访问。您可以登录阿里云控制台,进入ECS实例的安全组配置页面,添加入站规则允许80端口的访问。

    2. 云服务器(ECS)的网络配置:请确保您的ECS实例的网络配置正确,包括正确的IP地址和子网掩码。您可以通过 ifconfig 命令来查看和确认网络配置。

    3. 防火墙配置:请确保您的ECS实例的防火墙配置允许对http(80端口)的访问。您可以使用 iptables 命令来查看和修改防火墙规则。

    4. httpd服务配置:请确保您的httpd服务已正确配置并运行。您可以通过 systemctl status httpd.service 命令来查看服务的状态和日志,以确定是否有错误或异常。

    如果您确认以上配置都正确无误,但仍无法通过公网访问到您的博客,建议您检查您的域名解析是否正确,以及DNS解析是否生效。

    2023-07-07 10:19:41
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载