如何通过 ssh 向位于 Amazon ec2 实例中的服务器执行 HTTP POST?

如何通过 ssh 向位于 Amazon ec2 实例中的服务器执行 HTTP POST?

我有一台服务器正在监听http://0.0.0.0:8000,但这是存在于亚马逊实例中。

我如何从外部计算机发出 HTTP POST 请求(使用curl)?也就是说,我想使用监听的服务器作为 API。这与其他情况不同,因为我想通过 ssh 进行操作。

答案1

如果你想跑curl EC2 实例,并通过 隧道传输输出ssh,然后尝试以下操作:

ssh ${USERNAME}@${EC2_INSTANCE_IP} curl -s http://localhost:8000/

您应该直接在终端上看到结果(-s将抑制curl的输出)。

您可以运行任何这样的命令,没有什么特殊的curl

如果可行,那么您可以改变curl要使用的参数-X POST和/或-d,以及正确的端点。


但请记住,这0.0.0.0是一个“特别的“地址实际意味着”正在收听全部接口“... 因此,除非您正确配置入站规则,否则任何人仍然可以curl http://${EC2_INSTANCE_IP}:8000/攻击您的服务器。

相关内容