ECS实例上无法通过浏览器登录宝塔服务面板控制台如何处理?

本文介绍在ECS实例上无法通过浏览器登录宝塔服务面板控制台的问题原因和解决方案。

问题描述

在ECS实例中部署了宝塔服务面板控制台,但是通过浏览器输入ECS实例公网IP:端口的方式,无法访问宝塔服务面板控制台,如图所示:无法访问宝塔面板问题现象

问题原因

出现该问题可能有如下原因:

  • 宝塔面板服务没有正常启动。

  • 安全组中没有添加宝塔服务对应端口的规则。

解决方案

开启宝塔面板服务

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 查看宝塔服务是否运行。

    • Linux实例:

      执行如下命令,查看宝塔服务是否运行。

      /etc/init.d/bt status
      • 如果宝塔服务状态为running,回显示例如下,则表示宝塔服务已运行。您需要执行下一步,查看宝塔服务运行端口。

        20230207111810
      • 如果宝塔服务状态为not running,回显示例如下,则表示宝塔服务未运行。此时,您需要执行如下操作,启动宝塔服务。

        20230207111949
        1. 执行如下命令,启动宝塔服务。

          /etc/init.d/bt start
        2. 执行如下命令,查看宝塔服务运行状态。

          /etc/init.d/bt status
          • 如果宝塔服务状态为running,回显示例如下,则表示宝塔服务已成功启动。您需要执行下一步,查看宝塔服务运行端口。20230207112431

          • 如果宝塔服务状态仍然为not running,则您需要查看宝塔服务启动过程中的日志报错信息来判断并排查该问题。

    • Windows实例:

      1. 选择如下任意一种方式打开宝塔面板。

        • 方式一:在Windows操作系统桌面上,双击宝塔快捷图标图标。

        • 方式二:在Windows操作系统桌面左下角,选择开始图标 > 宝塔面板

      2. 宝塔Windows面板工具箱页面,查看宝塔服务运行信息。

        您可以查看并记录宝塔面板相关信息,例如宝塔服务使用的端口、安全入口等,如下图所示。宝塔面板工具箱

      3. 选择如下任意一种方式查看是否可以使用localhost登录宝塔面板。

        • 宝塔Windows面板工具箱页面,单击打开面板

        • 打开浏览器输入localhost:<宝塔服务使用的端口>[安全入口],然后按Enter键访问宝塔面板。

          • <宝塔服务使用的端口>:即宝塔Windows面板工具箱页面的端口,以8888为例。

          • [安全入口]:如果宝塔面板开启了安全入口,则浏览器的访问地址必须加入[安全入口]地址,否则访问宝塔面板时会提示“404”错误。该参数的值为宝塔Windows面板工具箱页面的安全入口,以/ttpRV8nM为例。

        如图所示,使用浏览器访问localhost:8888/ttpRV8nM成功,即成功使用localhost登录宝塔面板。此时,您需要执行下一步,查看宝塔服务运行端口。成功访问宝塔面板

        说明

        如果仍然无法访问宝塔面板,您可以在宝塔Windows面板工具箱页面,单击检查占用获取该端口的使用情况或者单击重启面板后重新访问宝塔面板。

  3. 查看宝塔服务运行端口。

    • Linux实例:

      • 执行如下命令,查看当前宝塔面板端口。

        cat /www/server/panel/data/port.pl
      • 执行如下命令,通过查看宝塔服务对应的pid来查看对应Bt-Panel服务的端口。

        /etc/init.d/bt status
        netstat -tnlp |grep 32514 #32514为第一条命令返回的Bt-Panel服务对应的pid

        回显示例如下,31248端口即为当前宝塔服务使用的端口。

        20230207122501
    • Windows实例:

      1. 选择如下任意一种方式打开宝塔面板。

        • 方式一:在Windows操作系统桌面上,双击宝塔快捷图标图标。

        • 方式二:在Windows操作系统桌面左下角,选择开始图标 > 宝塔面板

      2. 宝塔Windows面板工具箱页面,查看宝塔服务运行端口。

        您可以查看并记录宝塔服务运行端口,如图所示,8888即为宝塔服务运行端口。宝塔面板工具箱

  4. 重新在浏览器输入ECS实例公网IP:端口访问宝塔服务面板控制台。

在安全组中添加宝塔服务对应端口的规则

说明

本节操作以宝塔服务对应端口为8888为例,您的宝塔服务对应端口具体的获取方式,请参见开启宝塔面板服务的步骤3。

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择实例与镜像 > 实例

  3. 在顶部菜单栏左上角处,选择地域。

  4. 在实例列表页面,单击ECS实例对应的实例ID。

  5. 实例详情页面,单击安全组页签。

  6. 单击安全组列表页签,然后单击安全组ID。

  7. 在安全组规则页面,添加TCP协议8888端口的访问规则或者添加允许访问所有端口的规则。

    说明
    • 如果没有添加对应的安全组规则,则无法访问8888端口,后续将导致在ECS实例上无法访问宝塔面板。

    • 建议只开放对应端口的安全组规则,避免因开放所有端口的安全组规则造成安全损失。

    具体操作,请参见添加安全组规则

    以只开放添加TCP协议8888端口的访问规则为例,操作步骤如下:

    1. 在安全组规则页面,单击入方向页签。

    2. 单击手动添加

    3. 填写访问规则,然后在操作列单击保存

      • 授权策略:选择允许

      • 协议类型:选择自定义 TCP

      • 端口范围:选择8888/8888

      • 授权对象:选择0.0.0.0/0

      • 描述:根据实际情况填写。

      在安全组中添加8888端口