gpt4 book ai didi

nginx - 在 nginx 上设置 proxy_pass 以对 API Gateway 进行 API 调用

转载 作者:行者123 更新时间:2023-12-01 09:14:39 25 4
gpt4 key购买 nike

问题:
我在 API 网关后面设置了一个 Lambda 函数,它工作得很好。我有一个托管站点,我只想在某个位置访问 API。
例子
https://www.example.com/ (从托管服务器提供 html)
https://www.example.com/foobar (返回由 Lambda 生成并由 AWS 返回的 JSON 负载)
这是我的服务器块:

   location = /foobar {
proxy_pass https://someawsuri;
proxy_redirect default;
}

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
我试过查看文档并阅读多篇 SO 帖子,但我无法做我想做的事。我尝试过的一切都产生了错误 502 Bad Gateway .
题:
如何配置 nginx 以向 API 网关发出请求?
谢谢。

最佳答案

我认为你需要这两行:

proxy_set_header Host "XXXXXX.execute-api.REGION.amazonaws.com";
proxy_ssl_server_name on;

以下是有关原因的解释:
HOST如所描述的,标题是必需的 here

The Amazon API Gateway endpoint. This value must be one of the region-dependent endpoints listed under Regions and Endpoints. In the US East (N. Virginia) region, it is apigateway.us-east-1.amazonaws.com.



proxy_ssl_server_name on;

Enables passing of the server name through TLS Server Name Indication extension (SNI) when establishing a connection with the proxied HTTPS server.

关于nginx - 在 nginx 上设置 proxy_pass 以对 API Gateway 进行 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47823443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com