一旦会发现来自特定 IP 的滥用行为,这通常是由于机器人访问您的网站。但是,您也可能会发现与过度浏览您网站的机器人无关的 IP。
本节列出了一些您可以通过SSH运行的命令,以帮助识别哪些 IP 正在访问您的站点。推荐阅读:《 SSH访问如何在共享主机计划中生效? 》
登录您的服务器
要运行以下命令,您必须首先通过 SSH 登录到您的服务器:
SSH 概述
登录后,导航到正确的日志目录。
我应该查看哪个日志目录?
如果您已将SSL 证书添加到您的网站,您将看到两个文件夹。一种用于/http,一种用于/https。例如:
/logs/example.com/http
/logs/example.com/https
如果您访问您的站点并看到它在 URL ( https://example.com ) 中使用HTTPS,则这意味着您应该查看/https目录。如果您的站点在访问时显示HTTP,您将改为查看/http目录。以下示例假定您的站点使用HTTPS。
cd ~/logs/ example.com /https
您将在此处运行以下命令。
列出 IP 命中
列出顶级文件、文件夹和域
VPS主机或美国linux服务器上的 SHELL 用户
以下命令仅显示单个Shell 用户下的站点。如果您需要查看服务器上的所有站点日志,请查看下面标题为“美国linux服务器上的管理员用户”的部分。推进阅读:《什么是SSH密钥,如何结合Linux服务器使用它》
美国linux服务器上的管理员用户
以下命令仅在您的美国linux服务器上有“管理员”用户时才有效。然后您必须切换到您的“root”用户。只有这样,您才能看到服务器上所有站点的所有日志。
以“管理员”用户身份登录后如何切换到“root”用户
以下步骤详细说明了在首先以“admin”用户身份登录后如何以“root”用户身份登录到您的服务器。
1.以您的“管理员”用户身份登录您的服务器。
2.运行sudo 是:
3.输入您的“管理员”用户的密码。
4.您现在以“root”用户身份登录。您可以在命令提示符中看到这一点:
以“root”用户身份登录后,运行以下命令以查看服务器上所有站点的日志。
我的唯一 IP 建立了很多连接
您可能会在 access.log 中发现您站点的唯一 IP 正在建立大量连接。这不是问题,可以安全地忽略。
发生这种情况是因为 Apache 在内部生成这些连接以关闭不需要的进程。
故障排除
运行命令查看服务器上所有域的所有流量后,您可能会看到以下错误响应。
当您以 SFTP 用户身份运行该命令时会发生此错误。您必须以 VPS主机上的“Shell”用户或美国linux服务器上的“Shell”或“Admin”用户身份运行它。推荐阅读:《解决SSH登录用户执行的命令部分环境变量参数不生效的问题》