Apache-2.2
Apache 重定向到 https 以進行基本身份驗證
我對一個老問題有一個棘手的變化。
我有一個基於 apache 的站點,通常應該通過 http/port 80 訪問。但是對於某些需要身份驗證的保護區(由 .htaccess 指定),我希望能夠將使用者重定向到 https/port 443。
這裡的關鍵是我希望這對於基本身份驗證總是發生 - 即我不想使用重定向指令重新創建每個 htaccess 文件。我只想對基本身份驗證強制執行此操作(其他流量應未加密)。保護區分佈在整個場地。是否可以以某種方式將所有基本身份驗證請求重定向到 SSL 主機?
我終於弄清楚這是如何在我們的一台伺服器上完成的(醜陋的黑客警報)。
我們基本上禁止非 SSL(埠 80)主機的節中的 .htaccess 文件。這會在遇到 .htaccess 文件時生成 500 錯誤。
我們將所有 500 個錯誤重定向到允許 .htaccess 文件的 SSL 主機。“真正的”500 錯誤消息在 SSL 端可能也會失敗,而 .htaccess 相關的重定向現在在啟用 SSL 的端起作用。
是的 - 非常醜陋。我不想複製這個,但我想我會傳遞這個。
我認為不可能使用基本身份驗證自動將 HTTP 請求重定向到某個位置——至少不能單獨使用 Apache httpd。
但是您可以在Location塊中使用SSLRequireSSL指令來強制客戶端使用 HTTPS,否則他們將收到錯誤 403。