从 localhost 进行 curl 时出现 404

从 localhost 进行 curl 时出现 404

我们有一个在 centos 上运行的 cPanel 主机,这让我很为难。我试图从命令行使用 curl 来触发特定网页。但是,特定页面不断出现 404 错误,而主页却运行正常。

curl http://example.com

这很好用。

curl http://example.com/dev/buil?flush=all

每次都会返回 404。我可以从 Web 浏览器访问此确切页面,并且确实从另一个远程 Linux 机器运行此命令可以正常工作。我已在其后面的防火墙上运行了数据包捕获,没有发现任何被阻止的数据包,只有 example.com 的 DNS 请求。

我真的很困惑下一步该去哪里找,因为我确信我会在防火墙上发现某种规则冲突,阻止了 curl 所需的端口,但遗憾的是我什么也没找到。

答案1

404 错误与防火墙无关。404 代表“页面未找到”,由 Web 服务器本身生成。Web 服务器配置为支持“虚拟主机”的情况并不少见,即不同的网站在不同的网络接口上提供。

在这种情况下,这可能意味着您在 127.0.0.1(环回接口)上拥有与 wan 接口不同的虚拟主机。您可能需要调整 hosts 文件以将该“主机名”指向 wan 接口,而不是“localhost”接口。

相关内容