nginx与;Aws API网关

nginx与;Aws API网关,nginx,amazon-ec2,aws-api-gateway,Nginx,Amazon Ec2,Aws Api Gateway,我有一个用例,在这个用例中,我必须从托管在EC2上的nginx调用AWSAPI网关。 由于API网关默认使用SSL,所以我尝试使用SSL设置nginx上游,但未能成功配置它 我得到以下错误: SSL_do_handshake() failed (SSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream, clien

我有一个用例,在这个用例中,我必须从托管在EC2上的nginx调用AWSAPI网关。 由于API网关默认使用SSL,所以我尝试使用SSL设置nginx上游,但未能成功配置它

我得到以下错误:

SSL_do_handshake() failed (SSL: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure) while SSL handshaking to upstream, client: yy.yy.yy.yy, server: api-gateway.cloud, request: "GET /devint/echo HTTP/1.1", upstream: "https://zz.zz.zz.zz:443/devint/echo", host: "xx.xx.xx.xx:8000"

我该如何修理它。

我也要进这个兔子洞。CloudFront在接受请求之前需要发送一些额外的头

这似乎符合AWS的预期:

set $upstream_endpoint ROOT_API_GATEWAY_FQDN;
resolver DNS_RESOLVER_IP;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_server_name on;
proxy_pass         https://$upstream_endpoint;
proxy_buffering off;

解决特定问题的部分是在上设置
代理ssl\协议TLSv1 TLSv1.1 TLSv1.2
代理ssl\服务器\名称

我也要去这个兔子洞。CloudFront在接受请求之前需要发送一些额外的头

这似乎符合AWS的预期:

set $upstream_endpoint ROOT_API_GATEWAY_FQDN;
resolver DNS_RESOLVER_IP;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_server_name on;
proxy_pass         https://$upstream_endpoint;
proxy_buffering off;

解决特定问题的部分是在
上设置
代理ssl\协议TLSv1 TLSv1.1 TLSv1.2
代理ssl\服务器\名称

API网关使用cloudfront发行版,并支持使用自定义域名

自1.7版以来,为SNI添加了nginx。您可以在此处找到有关此的更多信息:


在反向代理配置中,在
上设置
proxy\u ssl\u server\u name指令。

API网关使用cloudfront发行版,并支持使用自定义域名

自1.7版以来,为SNI添加了nginx。您可以在此处找到有关此的更多信息:


在您的反向代理配置中将
proxy\u ssl\u server\u name指令设置为on

看起来Nginx正在尝试使用ssl v3。我想您可以将此标记为@Angelo R。看起来Nginx正在尝试使用ssl v3。我想您可以将此标记为@Angelo R。