在 ubuntu 10.04 上執行的 Amazon EC2 實例上設置多個 ssl 證書
我需要保護同一個 EC2 實例上的 2 個不同域。
原因:1是銷售網站。另一個是webapp。兩者都需要訪問同一個 MySQL 數據庫。
編輯
銷售網站是指使用者查看我的定價計劃等並註冊的網站。webapp 是他們在註冊後可以訪問的 SaaS Web 應用程序。
編輯結束
問題:webapp 域需要使用已購買的萬用字元 SSL 證書。
銷售網站需要使用同樣已購買的標準 SSL 證書。
有人告訴我,一個 EC2 實例只能有 1 個彈性 IP 地址。
而且我不能在 1 個 IP 地址上擁有超過 1 個 SSL 證書。
我發現這篇文章http://www.invokemedia.com/setting-up-multiple-ssl-domains-on-amazon-ec2-one-ipport/在使用 UCC 證書來解決這個問題。
但我不確定是否
- a)這會起作用,我不希望最終不必要地花錢並浪費它。
- b)它將同時使用萬用字元證書和標准證書。
- c) 使用 UCC 會意外破壞使用者 SSL 訪問的目的。
- d) 如何安裝和使用它。
- e) 由於我從 GoDaddy 獲得了兩個 SSL 證書,因此如何獲得 UCC。
我可以預見的另一個可能的解決方案是,我將 webapp 託管在一個 EC2 實例上,將銷售網站託管在另一個 EC2 實例上,這當然會使我的每月託管成本翻倍。
那麼問題就出現了,我的程式假設兩個應用程序需要在同一台伺服器上訪問同一個 MySQL 數據庫。
對我來說最好的出路是什麼——安全方面、可靠性方面、努力方面、成本方面,按重要性降序排列?
我學到的東西
- 1 個 SSL 證書到 1 個 IP:埠不是 1 個 SSL 證書到 1 個 IP
- 有一種叫做 UCC SSL 證書的東西,不太清楚這意味著什麼,除了它允許您同時使用 1 個 IP:PORT 為多個域使用 SSL
- 有一種叫做 ELB 彈性負載均衡器的東西,它可以讓你克服在 1 個 EC2 實例上擁有 IP
結束我學到的東西
每個 IP 可以擁有超過 1 個 SSL 證書,但每個 IP:port 組合不能擁有超過 1 個 SSL 證書。如果您願意嘗試在非標準埠(除 443 之外的任何埠)上執行 SSL 證書之一,那麼您可以使用單個 IP 地址。
您可以輕鬆地在不同的埠上提供不同的 SSL 證書。
事實證明,這可以通過 Elastic Load Balancer 輕鬆實現。您可以將多個彈性負載均衡器 IP 上的埠 443 重定向到您實例上的不同埠。
有人好心地寫了一個很好的教程,並附有圖表:http ://elwoodicious.com/2009/12/23/using-elb-to-serve-multiple-domains-over-ssl-on-ec2-for-咯咯笑/
您所指的“UCC”證書是在 SubjectAltName 欄位中具有多個名稱的證書。由於您已經擁有萬用字元證書,您可能會發現它受到限制 - 您使用萬用字元覆蓋了多少個不同的域名?基於 SAN 的證書的一個優點是它可以覆蓋多個域,但在請求證書時需要單獨列舉每個域名,而不是允許瀏覽器匹配萬用字元證書。