我没有非常使用Apache与Django,通常使用nginx,gunicorn和unix socket。
在尝试使用Apache,mod_proxy和Django时,我一直在尝试将所有请求传递给gunicorn后端,并在127.0.0.1:8998上进行侦听。
我使用Rewrite ... [P](见下文)实现了这一点,但是,这对于默认URL工作正常,当我转到http://foo.bar.com/admin时,我被重定向到127.0.0.1/admin ,显然不能远程工作。这是一个可以通过htaccess文件实现的设置,我需要做什么/看看来修复它?
htaccess的:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) http://localhost:8998/$1 [P]
谢谢!
答案 0 :(得分:1)
是否可以使用http://localhost和http://localhost/?
试试这个:
RewriteRule ^/(.*) http://localhost:8998/$1 [P]
我最近研究了你想要实现的目标并最终得到了这个:
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /static/ http://example.com:8080/static/
ProxyPassReverse /static/ http://example.com:8080/static/
在这种情况下,我将所有静态路径请求传递给nginx,但它可能适用于gunicorn。
当然,您需要启用apache2模块代理。