【问题标题】:How to configure Apache alias settings to let django debug toolbar work properly?如何配置 Apache 别名设置让 django 调试工具栏正常工作?
【发布时间】:2013-02-10 12:08:06
【问题描述】:

OSQA 有问题。任何时候,我尝试进入用户页面,都会出现“500错误”,例如:http://turkrusforum.com/users/2/mertnuhoglu/

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

我将DEBUG = TrueINTERNAL_IPS 放入settings.py。但是我还是看不到调试工具栏。

Here 表示在 Apache 下,这个问题可能与 Alias 设置有关。

这是我的httpd.conf 文件中的VirtualHost 定义:

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

谁能帮我找出如何配置别名设置?

【问题讨论】:

  • 您的 INTERNAL_IPS 设置是什么样的?

标签: django apache osqa django-debug-toolbar


【解决方案1】:

当您右键单击网页并检查时,您可以在 chrome 控制台中发现某些 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 not found 错误。这可以通过将 Python27\Lib\site-packages\debug_toolbar\static 中的 debug_toolbar 复制到项目静态文件夹中来解决。

【讨论】:

    【解决方案2】:

    需要注意的几点:

    1. Django_Toolbar 仅在 INTERNAL_IPs 与请求页面的机器的 IP 地址匹配时显示。

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

    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 并查看该标头是否设置正确。

    【讨论】:

    • 我提出了这个观点。结果是“212.253.42.119”,这是我输入INTERNAL_IPS = ('212.253.42.119',)的IP地址
    猜你喜欢
    • 2014-03-19
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 2017-08-13
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多