如何对 Lightsail 中的 Plesk 登录错误进行故障排除?

3 分钟阅读
0

我无法登录 Amazon Lightsail 中的 Plesk 控制面板。我想诊断登录时遇到的常见问题并进行故障排除。

简短描述

以下是 Lightsail 实例中 Plesk 控制面板出现登录错误的常见原因:

  • 登录链接中的 IP 地址不正确。
  • HTTPS 端口 443 和 8443 的访问被阻止。
  • Plesk 的防火墙不允许您的 IP 地址访问。
  • 实例的操作系统上的防火墙不允许访问。
  • 操作系统实例存在问题。

解决方法

重启 Lightsail 以获取正确的登录链接

当您将静态 IP 地址附加到 Lightsail 实例时,您会收到一个包含旧 IP 地址的错误登录链接。要获得具有正确 IP 地址的一次性登录链接,请完成以下步骤:

  1. 停止 Lightsail,然后重启 Lightsail。有关更多信息,请参阅启动、停止或重启 Lightsail 实例

  2. 如果您无法重启实例,请运行以下命令。将 example-IP 替换为您的 IP 地址:

    $ sudo plesk bin admin --enable-access-domain "example-IP"
  3. 获取 Plesk 实例的一次性登录 URL

允许访问端口 433 和 8443

如果 Plesk 允许从您的 IP 地址进行访问,请确认端口 443 和 8443 未被阻止。要检查这些端口的访问权限,请运行以下命令:

telnet example-IP 443  
telnet example-IP 8443  

**注意:**将 example-IP 替换为您的 IP 地址。

如果输出中包含“连接超时”或“连接遭拒”错误,则取消阻止该输出所对应的端口。有关更多信息,请参阅在 Lightsail 中使用防火墙控制实例流量

在 Plesk 的防火墙中取消阻止您的 IP 地址

验证 Plesk 的本地防火墙规则是否允许从您的 IP 地址进行访问。有关更多信息,请参阅 Plesk 网站上的如何使用 Plesk for Linux 中的 Plesk Firewall 管理本地防火墙规则

Plesk 防火墙

  1. 列出规则:

    sudo /usr/local/psa/bin/modules/firewall/settings --list-json
  2. 请确保允许在 TCP 端口 443 和 8443 上进行访问,然后验证您的 IP 地址未被阻止。如果规则中包含 Deny,请记下阻止访问的规则的 ID 号。然后,删除该规则。将 id_number 值替换为您记下的规则的 ID 号。

    sudo /usr/local/psa/bin/modules/firewall/settings --remove-rules -ids example_id_1,example_id_2
  3. 允许访问。将 -name-ports 替换为第 2 步中的规则 ID 号。

    sudo /usr/local/psa/bin/modules/firewall/settings -s -name 'My rule' -direction input -action allow -ports '8443/tcp,443/tcp'

在操作系统防火墙中取消阻止您的 IP 地址

可能阻止 Plesk 访问的操作系统防火墙包括 UFW(Uncomplicated Firewall,简单防火墙)、Fail2ban 和 iptables 等。要对阻止您的 IP 地址的操作系统防火墙进行故障排除,请使用 SSH 连接到 Lightsail。然后,根据您的用例采取以下操作:

UFW

  1. 验证 UFW 是否允许通过端口 443 和 8443 进行访问:
    $ sudo ufw status numbered
    **注意:**如果输出中包含 Status: active,则继续执行第 2 步。
  2. 允许通过端口 443 和 8443 进行访问:
    # sudo ufw allow 443  
    # sudo ufw allow 8443

Fail2ban

  1. 列出 Fail2ban 不允许的 IP 地址:

    $ sudo fail2ban-client banned
  2. 取消阻止您的 IP 地址。将 example-IP 替换为您的 IP 地址:

    $ sudo fail2ban-client set plesk-panel unbanip example-IP

Iptables

  1. 列出 iptables 中的规则。然后,请确认允许通过端口 443 和 8443 进行访问,并验证您的 IP 地址未被阻止:

    $ sudo iptables -L --line-numbers

    如果 iptables 允许访问,则输出中会包括 ACCEPT。如果 iptables 不允许通过端口进行访问,则继续执行第 2 步。
    -或-
    如果 iptables 中的规则阻止了您的 IP 地址,请记下链名和行号。然后,继续执行第 3 步。

  2. 允许通过端口进行访问:

    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT  
    sudo iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
  3. 将阻止您的 IP 地址的规则删除。将 example_chain_name 替换为链名,将 example_line_number 替换为第 1 步中的行号:

    $ sudo iptables -D example_chain_name example_line_number
  4. 允许从您的 IP 地址进行访问。将 example_chain_name 替换为第 1 步中的链名,将 example_IP 替换为您的 IP 地址:

    $ sudo iptables -A example_chain_name -s example_IP -p tcp --dport 443 -j ACCEPT  
    $ sudo iptables -A example_chain_name -s example_IP -p tcp --dport 8443 -j ACCEPT  
    

停用操作系统防火墙
如果您无法取消阻止操作系统防火墙,请停用该防火墙。但最佳做法是保持防火墙处于启用状态,因为当您停用防火墙时,防火墙会清除自定义规则。有关更多信息,请参阅 Tecmint 网站上的如何在 Linux 中启动/停止和启用/禁用 FirewallD 和 Iptables 防火墙

存在操作系统问题

要对操作系统问题进行故障排除,请检查实例的性能和操作系统的应用程序日志。

检查实例的性能

请确保 Lightsail 响应正常。有关更多信息,请参阅如何对导致 Lightsail 实例无响应的常见问题进行故障排除?

检查操作系统的应用程序日志
检查操作系统的应用程序日志中是否有与登录错误相匹配的时间戳。

  • NGINX:

    /var/log/nginx/error.log
  • Apache 2:

    /var/log/apache2/error.log
  • Ubuntu:

    /var/log/syslog
  • Plesk:

    /var/log/sw-cp-server/error_log
  • Plesk 面板日志:

    /var/log/plesk/panel.log
AWS 官方
AWS 官方已更新 6 个月前