无法建立到私有AWS API网关API的SSH隧道

问题描述 投票:0回答:1

我有一个私有的AWS API Gateway REST API,这意味着只能在我的VPC中访问它。我在VPC中运行了一个堡垒SSH实例,这意味着我可以执行以下操作:

ssh -J ec2-user@<bastion> ec2-user@<ip of EC2 instance within my VPC>

然后从该实例中,我可以使用curl URL https://<api-id>.execute-api.eu-west-1.amazonaws.com/dev/<my endpoint>我的API。

现在,对于本地测试,我想将此实例通过隧道传输到本地端口,所以我尝试

ssh -J ec2-user@<bastion> -L 8888:<api-id>.execute-api.eu-west-1.amazonaws.com:443 ec2-user@<ip of EC2 instance within my VPC>

此命令返回的结果很好,但是当我尝试执行curl localhost:8888/dev/<my endpoint>时,我首先会收到一个证书错误,这是很自然的,但是当我尝试使用curl -k localhost:8888/dev/<my endpoint>忽略该证书时,我只是从AWS收到了403禁止响应。对于这些请求,我的REST API访问日志中什么都没有。

403是否与我忽略TLS证书或其他原因有关?是否可以这样设置隧道?不幸的是,似乎无法对API网关REST API使用简单的HTTP:s,否则对于这种类型的事情我会更喜欢。

amazon-web-services aws-api-gateway amazon-vpc ssh-tunnel
1个回答
0
投票

API网关需要主机头以匹配API端点URL。将主机名添加到您的/etc/hosts

© www.soinside.com 2019 - 2024. All rights reserved.