我正在嘗試找出管理EB Docker應用程序的HTTPS的最佳方法。AWS Elastic Beanstalk VPC - 從ELB到HTTPS實例
此刻我正在使用以下方法。
- ELB接受443上的HTTPS連接,並轉發到實例上的HTTP端口80。
- ELB接受80上的HTTP連接,並轉發到實例上的HTTP端口8080。
- 實例接受端口80上的HTTP連接並轉發到docker應用程序。
- 實例接受端口8080上的HTTP連接並將它們重定向到HTTPS。
這一切都工作得很好。這意味着碼頭應用程序根本不必擔心重定向。它只是監聽端口80,並且它是事情。剩下的就是ELB和碼頭主持人。
我只關心這個設置,是碼頭應用程序不知道它運行的安全。如果在我的應用程序中檢查這個,它會失敗。
我想完全將我的docker應用程序與域名以及可能更改的SSL證書分開,因此我寧願繼續終止ELB上的原始HTTPS連接。我想知道是否有某種方法可以讓Docker主機(或ELB)在HTTPS協議中轉發(重新加密)請求,但是使用自簽名證書,因此我可以保留它的完全通用性。
要清楚的是,這隻會在ELB和/或碼頭主機,我的碼頭應用程序之間,而不是瀏覽器。
如果我創建了一個不過期的自簽名證書,然後在Docker應用程序(當前使用Apache2,但可能使用nginx)中將其註冊到Web服務器,然後簡單地告訴ELB或docker主持人轉發請求作爲HTTPS,這將工作?還是會因爲證書不可信而在某個時刻崩潰?
或者是否有某種方法可以在docker應用程序的web-server上終止HTTPS連接,而不需要預先生成證書(我猜這不是,因爲它可能需要生成即時證書等)。
是否有推薦的最佳實踐方式來做這種事情?