【发布时间】:2020-04-12 04:29:31
【问题描述】:
我有一个私有 AWS API Gateway REST API,这意味着它只能在我的 VPC 中访问。 我有一个在 VPC 中运行的堡垒 SSH 实例,这意味着我可以执行以下操作:
ssh -J ec2-user@<bastion> ec2-user@<ip of EC2 instance within my VPC>
从那个实例中,我可以使用https://<api-id>.execute-api.eu-west-1.amazonaws.com/dev/<my endpoint> URL curl 我的 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> 忽略证书时,我只是得到一个 403 Forbidden 响应AWS。对于这些请求,我的 REST API 访问日志中没有任何内容。
403 是否与我忽略 TLS 证书或其他原因有关? 有可能建立这样的隧道吗? 不幸的是,API 网关 REST API:s 似乎无法使用纯 HTTP,否则我更喜欢这种类型的东西。
【问题讨论】:
-
您是否有任何与 API 网关关联的 WAF?
-
@Nayeem 不,没有 WAF!
标签: amazon-web-services aws-api-gateway amazon-vpc ssh-tunnel