我想配置Nginx反向代理服务器,它将通过HTTP将所有请求重定向到我的AWS Api Gateway端点(它是一种GET方法)。 (如果你想知道为什么,原因是我有一个AWS Lambda函数,我希望第三方供应商通过Api网关进行调用,但是他目前有一个ssl_handshake与AWS的错误,可能是因为SNI。我会给他这个HTTP代理服务器)。Nginx proxy_pass to aws Api网关
我已经试过这样的事情:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name MY_SERVER_NAME;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location/{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass https://SOMETHING.execute-api.REGION.amazonaws.com/dev/RESOURCE/METHOD;
proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_buffering off;
}
}
但我目前从CloudFront的获取403,当我尝试打电话
http://MY_SERVER_NAME
我觉得我缺少的东西我在Nginx的SSL配置,但我不知道是什么。
其他客户选择在他们的API网关API前放置CloudFront分配以解决API网关的SNI需求。 –
这工作!谢谢。有没有任何指导去做到这一点?这并不容易。此外,它使用CDN服务成为不带缓存的代理服务器非常丑陋,正如我刚刚所做的那样 - 它可以与其他服务一起使用,可能是AWS LoadBalancer? – yishaiz
Elastic Load Balancer只能将流量发送到EC2实例。 –