2016-10-23 13 views
0

私は80のEC2(ウィンドウ)を指しているSSLを使用したAWSロードバランサを持っています(LBの場合) https 443 http 80 しかし、アプリi 「実行中のmは、今私がhttpshttpsにはAWS ELB(ssl cert)+ FLASK + NGNIX

を介してサーバにアクセスできませんよ、ngnixに設定されている別のポート9100上で、ここでこの

に私を助けてください、私のnginxの設定は、

server { 
     listen 80; 
     server_name mydomain.com; 

     location/{ 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header X-Forwarded-Proto https; 
      proxy_pass http://127.0.0.1:9100; 
      proxy_connect_timeout 150; 
      proxy_send_timeout 100; 
      proxy_read_timeout 100; 
      proxy_buffers 4 32k; 
      client_max_body_size 8m; 
      client_body_buffer_size 128k; 
     } 
} 
です
+0

ポート80を9100に変更 – hjpotter92

+0

EC2インスタンスのポート80への接続にnone-ssl(http)を使用するようにELBを設定した場合、Flaskで処理するSSLはなく、既に処理されています。 ELBによっておそらくあなたはその質問を明確にすることができますか? –

+0

@ hjpotter92すでにnginxにproxy_passとしてポート9100を追加しています。しかし、httpが動作しているところでは、httpsは動作しません。 – IAmHomes

答えて

0

httpsを使ってNginxの例がたくさんあります。あなたはそれを経由して来るの場合はポート443にHTTPSトラフィックを送信するためにELBを更新する必要があります。これは、nginxのは、ポート443でHTTPSとしてのトラフィックを提供するために取得します

server { 
    listen 80; 
    listen 443 ssl; 

    server_name mydomain.com; 

    ssl_certificate  www.example.com.crt; 
    ssl_certificate_key www.example.com.key; 
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2; 

    location/{ 
     proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Proto https; 
     proxy_pass http://127.0.0.1:9100; 
     proxy_connect_timeout 150; 
     proxy_send_timeout 100; 
     proxy_read_timeout 100; 
     proxy_buffers 4 32k; 
     client_max_body_size 8m; 
     client_body_buffer_size 128k; 
    } 
} 

:あなたのサンプル構成でNginx HTTPSドキュメントをマージするようなものを提供しますそのデバイス。

Nginx ssl_certificate & ssl_certificate_keyオプションも、これらのファイルを含むEC2インスタンスのどこかを指すように更新する必要があります。

+0

私はAWS Cert Manager上のsslキーをelbポート(443)にリンクしていますので、ここでそれをここでスキップすることができますか、それとも必須ですか? – IAmHomes

+0

AFAIK、初期証明書署名リクエストを作成した場合(CSR) AWSでは、秘密鍵をダウンロードできないため、Nginxでそれを使用することはできません。しかし、ELB上でSSLを終了させ、httpトラフィックをNginxに転送することができます。 –

+0

私はこれを持っていると思う、助けてくれてありがとう – IAmHomes

関連する問題