django url通过proxy_pass

时间:2012-08-04 18:07:01

标签: django url nginx

我想将beta测试中的django应用程序公开给我的客户端。我们的SSL证书仅适用于http://www.domain.com/(无子域)。所以我想映射:

http:// 192.168.0.9:8080/到http://www.domain.com/beta/

我已将此添加到我的nginx.conf

   location /beta {
            rewrite            ^([^.]*[^/])$ $1/       permanent;
   }

   location /beta / {
            proxy_set_header        X-Url-Prefix            http://www.domain.com/beta/;
            proxy_set_header        X-Real-IP               $remote_addr;
            proxy_set_header        Host                    $host;
            proxy_pass              http:// 192.168.0.9:8080/;
   }

第一页看起来不错,但所有链接都不起作用。链接由{%url ...%} templatetags。

创建

PS:http://和IP之间的空格 - > stackoverflow拒绝保存我的问题,如

那样无法访问

1 个答案:

答案 0 :(得分:1)

Django需要知道它不是在域的根目录服务,默认是一切都与/相关。有多种方法可以解决这个问题,但最简单的方法是在站点框架中添加“www.domain.com/beta”(您必须在INSTALLED_APPS中添加它)在默认的SITE_ID下。在管理界面中公开其模型,并使用正确的后缀进行设置。

查看django sites framework,将您的网址根添加到FQDN。