我有一台服务器正在监听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/
攻击您的服务器。