django - HOST_NAME 是 127.0.0.1 (gunicorn via Apache)
问题描述
我设法让 gunicorn 在 Apache 后面运行:
<Location /foo/>
ProxyPass unix:/run/gunicorn-foo.sock|http://127.0.0.1/
ProxyPassReverse unix:/run/gunicorn-foo.sock|http://127.0.0.1/
</Location>
一切正常,除了 ALLOWED_HOSTS 检查。HTTP_HOST 始终为 127.0.0.1
如何将 HTTP_HOST 传递给 gunicorn?
Apache/2.4.46 (Debian)
顺便说一句:我更喜欢 Nginx,但在这种情况下这是不可能的。
解决方案
<Location /foo/>
RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
ProxyPass unix:/run/gunicorn-foo.sock|http://127.0.0.1/
ProxyPassReverse unix:/run/gunicorn-foo.sock|http://127.0.0.1/
</Location>
推荐阅读
- ruby-on-rails - 分析后的 ActiveStorage 挂钩
- javascript - 函数输出替换了我的主要 JSON 字符串的前两行
- azure-cosmosdb - CosmosDb 未使用生成选择查询时提供的 ContractResolver
- c - 如何在 Python 中编写二进制数据并在 C 中读取?
- python - 如何从numpy数组中获取单位向量
- c# - 为 MailMessage 配置转发到属性,如 C# 中的回复
- php - Laravel - 调度不在存储库中工作的工作
- windows - 如何以域用户身份运行 powershell scriptblock?
- c# - C# Windows 应用程序与控制台应用程序导致 Process.Start() 的差异
- android - TypeError:无法读取未定义的属性“变量”