Amazon-Ec2

安裝 apache2 的 ec2 實例故障排除超時且未記錄任何錯誤

  • November 16, 2017

我的 ec2 是使用自動縮放組和附加到自動縮放組的負載均衡器創建的。使用的安全組為傳入和傳出的所有流量提供 0.0.0.0。我使用路由 53 將證書應用於 url,並將負載均衡器連接到路由。當我載入所有內容並輸入網址時,它最終會出現一個空白頁面,網頁甚至顯示 https 正在執行。負載均衡器顯示 ec2 實例處於服務狀態,自動縮放組顯示該實例執行狀況良好。

我採取的步驟是:

  • 查看來自 apache 的訪問和錯誤日誌。除了執行狀況檢查器正在獲得訪問權限外,沒有顯示任何內容。
  • 檢查附加入站/出站規則的安全組
  • 我檢查了啟用站點的 apache 配置並驗證 DocumentRoot 是正確的。
  • 檢查負載均衡器和自動擴展組是否認為實例健康。
  • 將我的索引文件更改為帶有 Hello 的簡單 html 文件,以防文件損壞。

有沒有人對我可以嘗試的其他方法或以前遇到過這個問題有什麼建議?我能做些什麼?!

阿帕奇配置:

<VirtualHost *:80>

   RewriteEngine on
   RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
   RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

   DocumentRoot /var/www/laravel_app/public

</VirtualHost>

ELB 訪問日誌

訪問日誌給了我 elb_status_code 和 backend_status_code 的 301。

HTTP 請求響應

408 ~ 請求超時

我發現即使我的負載均衡器和我的 ec2 實例都有 http/https 入站和出站規則,但 https 實例埠設置為 443 而不是 80。工作配置如下所示:

在此處輸入圖像描述

這解決了我的問題,但是,我不太清楚為什麼如果 ec2 實例和負載均衡器同時允許 http 和 https,那麼實例埠必須設置為 80。

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