我在嘗試解決這個問題時感到非常沮喪。
我們有一個在負載平衡器上使用 SSL 憑證的 AWS 環境。我們還在 httpd.conf 中有一個重寫規則,將所有連接埠 80 流量重定向到 443。
我們遇到的問題是我們丟失了伺服器建置文件並且需要重新建立它。當嘗試在新的亞馬遜 Linux 實例上設定新的 httpd 服務時,我們無法讓現有的 ELB 查看該實例是否可用 - ELB 運行狀況檢查不起作用(這適用於現有實例)。
健康檢查配置如下:
HTTPS:443/proxy/login.php
(這沒有改變並且適用於現有實例)
ELB監聽器設定如下:
埠 80 -> 埠 80
連接埠 443 -> 連接埠 80(已註冊證書
我們在工作伺服器的 httpd.conf 中也有以下規則:
<VirtualHost *:80>
RequestHeader set X-Forwarded-Proto "http"
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^test. [NC]
RewriteCond %{HTTP_HOST} !^signup. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
我已將規則新增至新伺服器,但沒有成功。我甚至將 httpd.conf 從工作伺服器複製到新伺服器,但仍然沒有成功。我在新伺服器上還缺少什麼?我需要擔心的其他設定檔嗎?
答案1
感謝您的所有投入。我透過向虛擬主機部分添加一個條件來解決此問題,該條件排除重定向到 443 的情況:
RewriteCond %{REQUEST_URI} !^/proxy/login\.php$