首页 > 解决方案 > 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,但在这种情况下这是不可能的。

标签: djangoapachegunicorn

解决方案


<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>

推荐阅读