我无法登录 Amazon Lightsail 中的 Plesk 控制面板。我想诊断登录时遇到的常见问题并进行故障排除。
简短描述
以下是 Lightsail 实例中 Plesk 控制面板出现登录错误的常见原因:
- 登录链接中的 IP 地址不正确。
- HTTPS 端口 443 和 8443 的访问被阻止。
- Plesk 的防火墙不允许您的 IP 地址访问。
- 实例的操作系统上的防火墙不允许访问。
- 操作系统实例存在问题。
解决方法
重启 Lightsail 以获取正确的登录链接
当您将静态 IP 地址附加到 Lightsail 实例时,您会收到一个包含旧 IP 地址的错误登录链接。要获得具有正确 IP 地址的一次性登录链接,请完成以下步骤:
-
停止 Lightsail,然后重启 Lightsail。有关更多信息,请参阅启动、停止或重启 Lightsail 实例。
-
如果您无法重启实例,请运行以下命令。将 example-IP 替换为您的 IP 地址:
$ sudo plesk bin admin --enable-access-domain "example-IP"
-
获取 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 防火墙
-
列出规则:
sudo /usr/local/psa/bin/modules/firewall/settings --list-json
-
请确保允许在 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
-
允许访问。将 -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
- 验证 UFW 是否允许通过端口 443 和 8443 进行访问:
$ sudo ufw status numbered
**注意:**如果输出中包含 Status: active,则继续执行第 2 步。
- 允许通过端口 443 和 8443 进行访问:
# sudo ufw allow 443
# sudo ufw allow 8443
Fail2ban
-
列出 Fail2ban 不允许的 IP 地址:
$ sudo fail2ban-client banned
-
取消阻止您的 IP 地址。将 example-IP 替换为您的 IP 地址:
$ sudo fail2ban-client set plesk-panel unbanip example-IP
Iptables
-
列出 iptables 中的规则。然后,请确认允许通过端口 443 和 8443 进行访问,并验证您的 IP 地址未被阻止:
$ sudo iptables -L --line-numbers
如果 iptables 允许访问,则输出中会包括 ACCEPT。如果 iptables 不允许通过端口进行访问,则继续执行第 2 步。
-或-
如果 iptables 中的规则阻止了您的 IP 地址,请记下链名和行号。然后,继续执行第 3 步。
-
允许通过端口进行访问:
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8443 -j ACCEPT
-
将阻止您的 IP 地址的规则删除。将 example_chain_name 替换为链名,将 example_line_number 替换为第 1 步中的行号:
$ sudo iptables -D example_chain_name example_line_number
-
允许从您的 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 实例无响应的常见问题进行故障排除?。
检查操作系统的应用程序日志
检查操作系统的应用程序日志中是否有与登录错误相匹配的时间戳。