几个星期前,我花了一段美好的时间设置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}