为什么我无法获取特定的仙人掌图形图像?

为什么我无法获取特定的仙人掌图形图像?

我正在尝试 wget 一个特定的 cacti 图形图像以便制作每日报告。我们有 cacti 网站的 htpasswd,我已为其添加了一个用户。我使用 wget 来--http-user/password传递它。这是有效的,因为没有它,我就可以403 Authorization Required返回。但是当我尝试 wget 图像时,我被重定向到 index.php。它在做什么?

我尝试在 wget 中将用户代理更改为与我的 Firefox 相同,但没有变化。我在 wget 中将 referer 设置为 cacti 页面,也没有变化。它在做什么?http auth 和 wget 有什么特别之处吗?

答案1

您可以使用 wget 命令传递 cookie 信息:

wget --help | grep cookie
   --cookies=off         don't use cookies.
   --load-cookies=FILE   load cookies from FILE before session.
   --save-cookies=FILE   save cookies to FILE after session.

答案2

从您的描述来看,您似乎已将 BasicAuth 应用于 Cacti 的内置授权机制之上。因此,通过提供授权,--http-user您可以访问 Web 资源,但 Cacti 仍然不知道您是谁,因此它会将您重定向到登录页面。

你可能有两个选择:

  • 向 wget 提供一个 cookie,以便其保持登录状态。
  • 在设置下切换到“Web Basic Authentication”。

答案3

你可以设置 Cacti 定期预生成图表,然后将它们粘贴到你找到它们。这样就避免了向仙人掌表明身份的问题。

转到:控制台 -> 配置 -> 设置 -> 图表导出

您可能希望导出到本地文件系统,然后将图表放在可以从中获取它们的某个位置。请注意,这似乎会同时生成所有图表,这可能会对您的系统产生重大影响(取决于您的系统和 cacti 安装的复杂性),并提供比您真正想要的更多的信息。

(这对于 cacti 0.8.7b 是正确的,而且我认为,更好的版本也是如此。)

答案4

我会先检查服务器日志(可能是 Apache),看看是否还有更多信息。您能向我们展示使用不同用户名和密码的命令吗?

哦,我没仔细看,抱歉。你确定图片不是在你请求时动态生成的吗?如果它们还不存在,链接将无效,apache 日志可能会显示这一点。

相关内容