Amazon-Web-Services

EC2 公共 DNS 無法使用 HTTPS - Elastic Beanstalk URL 正在執行

  • April 23, 2015

我完全沒有辦法解決這個問題。對於類似問題,我已經完成了幾乎所有給定的解決方案,但都沒有成功。

我已經使用 Elastic Beanstalk 成功設置了我的 Ruby on Rails 應用程序以通過 HTTPS 工作。為我的彈性 beanstalk 應用程序提供的 url 工作正常 - 這意味著我的 SSL 證書是正確的。

我的註冊域有兩個託管區域,我嘗試使用 CNAME 將它們路由到我的彈性 beanstalk URL,但這並沒有達到我想要的效果,因為 www.something.example.com 可以工作,但 www.example.com 不會t - 這是沒有意義的。

我最初為每個託管區域使用 A 記錄,並將它們設置為與我的 Ec2 實例關聯的彈性 IP 地址。但是,問題在於我的公共 DNS url在配置為 HTTPS 時不起作用**。**每次我嘗試連接到彈性 IP 或給定的 Ec2 公共 DNS 時,都會收到“ERR_CONNECTION_REFUSED”。

以下是我的 Elastic Beanstalk 應用程序的負載平衡設置:

這是我的負載均衡器描述中的安全組資訊:

以下是該安全組的設置規則:

這是顯示設置規則的實例的視圖:

以下是負載均衡器的偵聽器設置:

我使用此解決方案來設置偵聽器設置。

我使用此解決方案來設置安全組的入站設置。

我的 production.rb 文件中有“config.force_ssl = true”。我無法使用 HTTP 訪問該站點,所有流量都自動重新路由到 HTTPS。

回顧一下:

  • Elastic Beanstalk env URL - 正常工作 (HTTPS)
  • Ec2 實例公共 DNS - 工作 (HTTPS)
  • 彈性 IP - 工作 (HTTPS)

感謝任何可以提供有關正在發生的事情的見解的人。

編輯

固定的。請參閱已檢查的解決方案。

解決方案:(假設您的example.com的dns在route53中):為example.com的頂點創建一條A記錄(無主機名),別名選擇YES。

對於 Alias Target,使用 ELB 入口點作為彈性 beanstalk(應該有一個下拉列表可供您選擇。

dns 記錄傳播後,您可以通過https://example.com正確訪問該站點 (我通過 /etc/hosts 條目對此進行了測試)。

如果您在 route53 中沒有 example.com(或無法獲得它),您將被迫創建一個不同的 SSL 證書,因為它目前只能在您的站點的頂點上使用。*.example.com 的萬用字元證書將為您在 DNS 中的站點名稱提供更大的靈活性。

引用自:https://serverfault.com/questions/684837