2017-08-13 7825 views
0

我試圖在EC2實例上設置SSL證書我已經使用Cloudfront和Route 53安裝了Wordpress,但是我得到當我前往URL時,瀏覽器發生502錯誤。我沒有使用ELB,因爲我不期望流量很高(至少在一段時間內)。任何人都知道問題是什麼?嘗試通過Cloudfront設置EC2實例上的SSL時出現502錯誤

這裏是我得到的錯誤:

Request URL:https://react.edbiden.com/ 
Request Method:GET 
Status Code:502 
Remote Address:54.230.11.194:443 
Referrer Policy:no-referrer-when-downgrade 
Response Headers 
content-length:587 
content-type:text/html 
date:Sun, 13 Aug 2017 10:45:32 GMT 
server:CloudFront 
status:502 
via:1.1 d10e0115903b50001036753d910516ef.cloudfront.net (CloudFront) 
x-amz-cf-id:YWp5HN-1zbO56PxkmH_TIBYFtQ4sO1LnvmYk4wjnrTfuXKP0RHLxnQ== 
x-cache:Error from cloudfront 

在路線53我有一個記錄IP4和IP6:

Alias: Yes 
Alias Target: d2dzwf20h9q46z.cloudfront.net. 
Routing: Simple 

在的Cloudfront: enter image description here enter image description here

EC2設置: enter image description here

如果有人能指出我正確的方向,我將不勝感激。謝謝!

回答

0

將原始協議策略更改爲「僅限HTTP」。 否則CloudFront會嘗試通過HTTPS連接到EC2實例,這可能會失敗。

+0

OP問SSL連接 – user7294900

+0

是的,這只是給出了一個不同的錯誤/問題 - 鉻稱之爲「混合安全」或什麼的,因爲雲端安全,但EC2不是。你可以看到網站的元素(佈局錯誤),但這不是一個可行的解決方案。 –

+0

如果接收用戶的所有內容都由CloudFront提供,並且CloudFront是安全的,則不應該有任何問題。爲什麼從EC2服務器取代CloudFront? –

1

我認爲問題在於SSL證書不匹配。您在Origin服務器(EC2實例)中使用自簽名證書,但根據AWS「對於ELB負載平衡器以外的源,您必須使用由受信任的第三方證書頒發機構簽名的證書,例如Comodo ,DigiCert或賽門鐵克。「 http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-cloudfront-to-custom-origin.html

您可以嘗試使用讓我們在實例中加密證書。

+0

因此,Amazon不支持EC2直接使用AWS Certificate Manager(ACM)?您必須使用Elastic Load Balancer或提供您自己的SSL證書?看起來很奇怪。感謝我們的加密技巧...我會檢查出 –

+0

@EdBiden是的,ACM證書不能直接使用/安裝在實例上,可以與ELB,CloudFront等一起使用。 – sudo

+0

@EdBiden不奇怪,它是安全模型。您無法使用ACM訪問證書的私鑰,您需要在您的EC2實例上安裝和使用證書。請注意,Let's Encrypt將**不會**爲您的EC2實例的默認'* .compute-1.amazonaws.com'主機名頒發證書。您需要將DNS中的主機名從* your *域指向EC2實例,並獲取該主機名的證書,例如,對於站點'example.com',您可以使用'origin.example.com'作爲源服務器的主機名。更改CloudFront原始配置以使用此新名稱。 –

相關問題