开发者社区 > 弹性计算 > 云服务器ECS > 正文

ECS搭建云上博客,公网无法访问ip

已解决

我用centos8、nginx搭建博客,nginx运行如图,就是不能公网访问,这是怎么回事?548.PNG
防火墙也按照提问的回答设置了5645.PNG

展开
收起
八重苇 2023-07-07 21:51:55 376 1
5 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!
    采纳回答

    楼主你好,首先,请确保以下几点:

    1. 你的云服务器(ECS)的安全组已经开放了对应的端口号,允许公网访问。
    2. 确保你的域名已经正确解析到了云服务器的公网IP地址。

    如果上述两点都确认无误,那么可以进一步检查以下问题:

    1. 检查你的防火墙设置,确保没有屏蔽或限制公网访问的规则。你可以使用iptables -L命令来查看当前的防火墙规则。
    2. 检查Nginx的配置文件,确保监听的端口和域名配置正确。默认情况下,Nginx监听80端口,你可以在/etc/nginx/conf.d/default.conf文件中查看相关配置。
    3. 检查Nginx是否正常运行,可以使用systemctl status nginx命令来检查Nginx服务的状态,如果服务未启动,可以使用systemctl start nginx命令来启动。
    2023-07-08 10:50:53
    赞同 1 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    如果您使用CentOS 8和nginx搭建博客,并且nginx能够在本地运行,但是无法公网访问,那么可能是因为您的防火墙设置存在问题。
    在CentOS 8中,您可以使用iptables命令来控制网络流量。如果您想要允许公网访问您的博客,那么您需要将流量从公网流量端口(例如80端口)转发到nginx的服务端口(例如8080端口)。
    您可以使用以下命令来开启iptables的端口转发功能:

    sudo systemctl start iptables
    

    然后,您可以使用以下命令来设置端口转发规则:

    sudo iptables -t nat -A PREROUTING -p tcp -d 0.0.0.0 --dport 80 -j DNAT --to-destination 127.0.0.1:8080
    

    这个命令会将从公网流量端口80进入的流量转发到本地的服务端口8080上。您也可以使用以下命令来保存这个规则:

    sudo iptables-save
    

    这个命令会将当前的iptables规则保存到文件中,以便您在重启iptables时保留规则。
    如果您的防火墙设置正确,但是仍然无法公网访问您的博客,那么您可以检查您的域名解析是否正确。您可以使用以下命令来检查您的域名解析是否正确:

    nslookup example.com
    

    如果解析结果正确,那么您可以检查您的DNS服务器是否存在问题。您可以使用以下命令来检查您的DNS服务器是否存在问题:

    ping example.com
    

    如果ping命令成功,那么您的DNS服务器应该是正常的。如果ping命令失败,那么您的DNS服务器可能存在问题。

    2023-07-10 11:02:32
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    根据您提供的信息,您在使用CentOS 8和Nginx搭建博客时遇到了公网无法访问的问题,并且已经按照之前的回答设置了防火墙规则。让我来帮助您解决这个问题。

    首先,请确保您的ECS实例的安全组配置正确。安全组是一种虚拟防火墙,用于控制进出实例的流量。您可以检查以下几个方面:

    1. 入站规则:确保您的安全组的入站规则允许了HTTP(端口80)和HTTPS(端口443)的流量。如果这些规则不存在或被禁止,公网将无法访问您的博客。

    2. 出站规则:确保您的安全组的出站规则允许了所有流量的出站。如果您限制了出站流量,可能会导致公网无法访问您的博客。

    另外,请确保您的Nginx配置正确。您可以检查以下几个方面:

    1. 监听IP和端口:确保您的Nginx配置中监听的IP和端口正确。如果配置不正确,可能会导致无法通过公网访问。

    2. 配置文件语法:检查您的Nginx配置文件的语法是否正确,可以使用 nginx -t 命令来检查配置文件的语法是否正确。

    如果您确认以上配置都正确,但问题仍然存在,您可以尝试以下步骤:

    1. 检查ECS实例的网络配置:确保ECS实例的网络配置正确,包括VPC、子网、路由表等。如果网络配置不正确,可能会导致无法通过公网访问。

    2. 检查域名解析:如果您使用了域名访问博客,请确保域名解析正确,并指向了您的ECS实例的公网IP地址。

    希望这些提示对您有帮助。如果您需要更具体的解决方案,请提供更多的详细信息,我将尽力协助您解决问题。

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

    防火墙设置:检查您的服务器是否开启了防火墙,如果开启了防火墙,请确保允许对 Nginx 相应端口的公网访问。您可以使用命令 sudo firewall-cmd --list-all 查看防火墙规则,或者直接禁用防火墙试试。

    网络配置:检查您的服务器网络配置是否正确,特别是公网 IP 是否正确配置。您可以使用命令 ip addr 查看服务器 IP 地址,或者联系服务器提供商确认公网 IP 配置。

    端口监听:检查 Nginx 是否监听了正确的端口。默认情况下,Nginx 监听的是 80 和 443 端口,如果您修改了端口或者使用了其他端口,请确保相应的端口已经正确配置,并且可以被公网访问。

    Nginx 配置:检查 Nginx 配置文件是否正确配置。特别是 server_name 配置项,确保已经设置正确的域名或者公网 IP。如果您使用了 HTTPS 协议,请确保证书和密钥正确配置。

    DNS 解析:如果您使用域名访问 Nginx 服务器,请检查 DNS 解析是否正确。您可以使用命令 nslookup your_domain.com 检查域名是否解析到正确的 IP 地址。

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

    如果您使用Amazon Elastic Container Service(ECS)搭建云上博客,并且无法通过公网访问IP地址,可以按照以下步骤进行故障排除:

    1. 确认安全组设置:检查您的ECS实例的安全组规则。请确保已经打开了适当的入站和出站端口以允许公网访问。常见的Web博客端口是80(HTTP)和443(HTTPS)。

    2. 检查网络访问控制列表(Network ACLs):如果您的VPC使用了网络访问控制列表,请确保相关的入站和出站规则允许来自公网的流量通过。

    3. 验证路由表设置:检查您的子网所关联的路由表设置。确保有一个指向Internet Gateway(互联网网关)的默认路由。

    4. 查看ECS任务定义:确认您的ECS任务定义中的端口映射是否正确。确保容器的端口映射与所需的公网访问端口匹配。

    5. 检查ECS实例日志:登录到您的ECS实例上,查看容器日志以确认是否有任何错误或警告信息。

    6. 检查负载均衡器(Load Balancer)配置:如果您在ECS集群中使用了负载均衡器,验证负载均衡器的配置是否正确,并确保负载均衡器的监听器将公网流量正确路由到ECS实例。

    7. 确认公网IP地址是否正确:如果您正在使用弹性IP地址(EIP)来绑定到ECS实例上,请确保已正确分配和关联了EIP。

    8. 检查DNS设置:确认域名解析设置正确。确保您的域名解析指向正确的公网IP地址。

    如果按照上述步骤进行排查后仍然无法解决问题,建议您联系云服务提供商的技术支持部门,以获取更进一步的帮助和指导。

    2023-07-07 22:03:17
    赞同 展开评论 打赏

云服务器ECS是一种安全可靠、弹性可伸缩的IaaS级云计算服务。在这里你可以获取最新的ECS产品资讯、最前沿的技术交流以及优惠活动等信息,加速自己的技术成长。

相关产品

  • 云服务器 ECS
  • 相关电子书

    更多
    如何运维千台以上游戏云服务器 立即下载
    网站/服务器取证 实践与挑战 立即下载
    ECS计算与存储分离架构实践 立即下载