我正在尝试为以前由 nginx 反向代理处理的内容设置 AWS API 网关。我的端点是 VPC 内的 EC2 实例。我已经进行了设置,以便网关可以访问这些实例。
之前的 nginx 设置如下所示:
http {
server {
listen 80;
location /host1/ {
proxy_pass http://host1:8000/;
}
location /host2/ {
proxy_pass http://host2:8070/;
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试重写请求路径时出现问题。我在 Gateway: 中设置了一条测试路由ANY /test/{proxy+},并将其传递给相应的 EC2 实例。我已经验证,请求已通过,但它们包含请求的完整路径:
# machine 1:
curl -v 'https://<endpoint>.amazonaws.com/test/hello_world/test/a'
< HTTP/2 404
< date: Sat, 18 Dec 2021 09:21:42 GMT
< content-type: text/html;charset=utf-8
< content-length: 469
< server: SimpleHTTP/0.6 Python/3.7.10
< apigw-requestid: Kic2FiLIFiAEN_g=
<
--- response ---
# server:
192.168.9.6 - …Run Code Online (Sandbox Code Playgroud)