2017-02-03 63 views
7

我正在嘗試配置AWS應用程序負載平衡器(與經典負載平衡器)以將流量分發到我的EC2 Web服務器。出於合規性原因,我需要爲我的應用程序端到端SSL/HTTPS加密。應用程序負載平衡器(ELBv2)SSL通過

在我看來,確保流量在客戶端和Web服務器之間以完整方式加密的最簡單方法是終止Web服務器上的HTTPS連接。

我的第一個問題:是否可以通過AWS Application Load Balancer將HTTPS流量通過負載均衡器以這種方式傳遞到負載均衡器後面的Web服務器?

從我從AWS文檔收集的內容中,可以通過經典負載均衡器(通過TCP傳遞)以這種方式傳遞流量。但是,應用負載平衡器看起來像它想終止HTTPS連接本身,然後執行下列操作之一:

  • 將流量發送到網絡服務器未加密的,我不能遵守的原因做
  • 創建一個新的HTTPS連接到Web服務器,這似乎是額外的工作負載

我的第二個問題:是理解文檔正確嗎?

+0

我還沒有嘗試過使用AWS,但我使用HaProxy生產服務器的SSL/HTTPS通過Nginx。 –

+0

我不知道是否將流量發送到未加密的Web服務器,這就是發生的情況。我會開始https://aws.amazon.com/blogs/aws/elastic-load-balancer-support-for-ssl-termination/或http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ configure-https-endtoend.html希望這有助於 –

+1

@MuqeetKhan如果您在負載平衡器上終止SSL並且沒有在Web服務器上安裝SSL證書,那麼這正是發生的情況。如果Web服務器上沒有SSL證書,負載平衡器和服務器之間的流量可能會如何加密? –

回答

13

終止Web服務器上的SSL連接需要您將負載均衡器偵聽器從HTTPS更改爲TCP。 ALB不支持這個,只有經典的ELB。此外,如果您在Web服務器上終止SSL,則負載平衡器將無法檢查請求,因爲它無法解密它,所以它將無法做到所有奇特的新路由選擇ALB支持。

如果您確實想要使用ALB提供的新功能,並且您需要端到端加密,則必須在ALB處終止SSL,並在Web服務器上安裝SSL證書。 Web服務器證書可能類似於自簽名證書,因爲只有ALB纔會看到該證書,而不是客戶端。

我假設您需要遵從法規(PCI,HIPAA等)的端到端加密。否則,沒有一個非常有說服力的理由去解決它的麻煩。

+0

很好的答案,謝謝! –

+0

是的,我需要端到端加密以達到合規性原因。 –

+0

AWS已經通過負載平衡器發佈了網絡負載均衡器,直到實例/組/ ip,因此您可以使用nginx或任何帶有SSL的實例,並且應該更快一些=) – pauricthelodger