2013-02-25 26 views
4

我在OSQA有问题。任何时候,我尝试输入用户的页面,“500错误”的发生,如在这里:http://turkrusforum.com/users/2/mertnuhoglu/如何配置Apache别名设置让django调试工具栏正常工作?

我检查错误日志。但那里什么也没有。我想安装django-debug-toolbar并更多地调试问题。

我把DEBUG = TrueINTERNAL_IPS分成settings.py。但我仍然看不到调试工具栏。

Here它说,在Apache下,这个问题可能与别名设置。

这里是VirtualHost定义在我httpd.conf文件:

<VirtualHost *:26903> 
    ServerName turkrusforum.com 
    KeepAlive Off 
    WSGIDaemonProcess turkrusforum.com processes=1 python-path=/home/mertnuhoglu/webapps/otrf:/home/mertnuhoglu/webapps/otrf/osqa:/home/mertnuhoglu/webapps/otrf/lib/python2.6 threads=1 inactivity-timeout=360 display-name=[wsgi-otrf]httpd 
    WSGIProcessGroup turkrusforum.com 
    WSGIScriptAlias//home/mertnuhoglu/webapps/otrf/otrf.wsgi 
</VirtualHost> 

五月任何人帮我找出如何配置别名设置?

+1

什么是你INTERNAL_IPS设置样子? – 2013-02-25 11:05:59

回答

2

有几件事情要记住:当

的INTERNAL_IPS请求机页面的IP地址匹配
  1. Django_Toolbar才会显示。

  2. 它查看HTTP_X_FORWARDED_FOR头,WSGI Apache模块应设置(但可能不会,或可能设置不正确)。

  3. 如果没有发现头,它着眼于REMOTE_ADDR,其在代理设置,始终是127.0.0.1。

所以,你需要确认你的设置实际上是在正确设置HTTP_X_FORWARDED_FOR。

简单的方法是做一个视图,只是这样做:

def check_forward(request, *args, **kwargs): 
    return HttpResponse(request.META.get('HTTP_X_FORWARDED_FOR', None)) 

地图,一个URL,看看是否该头被设置正确。

+0

我提出了这个观点。结果是“212.253.42.119”,这是我放入'INTERNAL_IPS =('212.253.42.119',)'的IP地址' – 2013-02-25 12:05:38

1

当你右键点击网页和检查,你可以在某些CSS和HTML文件具有404响应铬控制台找到。

/static/debug_toolbar/css/toolbar.css 
/static/debug_toolbar/js/toolbar.js 
/static/debug_toolbar/img/ajax-loader.gif 

这些是由django的工具栏可显示面板所需的静态的资产。 在我的项目的静态文件夹中找不到指定的资源。通过更多的调试,我发现添加到已安装应用程序的django-debug-toolbar正在为开发框中的静态内容提供服务。 当django项目托管在apache上时,所有静态文件的默认别名为静态文件夹。由于与django_toolbar相关的文件不存在,服务器返回404未找到的错误。这可以通过将Python27 \ Lib \ site-packages \ debug_toolbar \ static中的debug_toolbar复制到项目静态文件夹来解决。