幾個星期前,我花了一段美好的時間設置Apache和Django配置,以強制SSL並在AWS負載平衡器後面運行。現在Django Apache上的無效HTTP_HOST標頭 - 使用Require修復?
,它是所有工作很好,我還在不斷地接收公共「無效HTTP_HOST頭」的錯誤,並試圖找出正確的方式去修復它。
搜索已經給我帶來了關於Apache的配置如下回答:
How to disable Django's invalid HTTP_HOST error?
其中建議將以下設置<Directory></Directory>
塊內的虛擬主機文件:
SetEnvIfNoCase Host .+ VALID_HOST
Order Deny,Allow
Deny from All
Allow from env=VALID_HOST}
該作品,但根據Apache(https://httpd.apache.org/docs/2.4/howto/access.html),此方法已被棄用。
我通過Apache文檔閱讀,但是當我嘗試使用下面的代碼,它只是關閉訪問該網站,並給了我一個「未授權」的錯誤。
<RequireAll>
Require host example.org
</RequireAll>
不完全確定我錯過了什麼。我知道我可以使用第一個答案解決問題,只是嘗試使用未被棄用的代碼找出「正確」的方式。網站使用WSGIDaemonProcess運行Django應用程序,並具有以下設置通過AWS爲強制SSL
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP:X-Forwarded-For} !=""
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI}