2017-05-08 10 views
1

EC2でホストされているnginxからAWS API Gatewayを呼び出す必要があるユースケースがあります。 API GatewayはデフォルトでSSLを使用しているため、SSLを使用してnginx upstreamを設定しようとしていましたが、正常に設定できませんでした。私はそれを固定に近づく必要がありますどのようにnginxとAws APIゲートウェイ間の通信

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" 

iは以下のエラーを取得します。

+0

NginxがSSL v3を使用しようとしているようです。 –

+0

これは@Angelo Rによって応答されたとマークすることができると思います。 –

答えて

5

私はまた、このウサギの穴を下っています。 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; 

あなたの特定の問題がproxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2proxy_ssl_server_name onを設定している解決の部分を。

関連する問題