django - 如何配置 Apache 别名设置让 django 调试工具栏正常工作?

标签 django apache osqa django-debug-toolbar

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

我检查了错误日志。但是那里什么都没有。我要安装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>

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

最佳答案

要记住几件事:

  • Django_Toolbar 仅在 INTERNAL_IPs 与请求页面的机器的 IP 地址匹配时显示。
  • 它查看 WSGI Apache 模块应设置的 HTTP_X_FORWARDED_FOR header (但可能不设置,或设置不正确)。
  • 如果它没有找到该 header ,它会查看 REMOTE_ADDR,它在代理设置中始终为 127.0.0.1。

  • 因此,您需要验证您的设置实际上是否正确设置了 HTTP_X_FORWARDED_FOR。

    简单的方法是制作一个 View ,然后这样做:
    def check_forward(request, *args, **kwargs):
        return HttpResponse(request.META.get('HTTP_X_FORWARDED_FOR', None))
    

    映射该 URL 并查看该 header 是否设置正确。

    关于django - 如何配置 Apache 别名设置让 django 调试工具栏正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15065427/

    相关文章:

    django - OSQA 与 Askbot?

    python - 如何在Python中用俄语文本替换英语硬编码字符串?

    python - 如何保护 Django 中的对象不被删除?

    python - 你能给一个 Django 应用程序一个详细的名称以供整个管理员使用吗?

    Apache X509 证书授权模式设置 HTTP header

    Apache:重定向用户,但保持相同的路径?

    python - 配置 django 设置以使用 1.4.1。加载模板错误

    python - Django 本地化消息合并错误

    Django 统计每个年龄

    linux - Plesk 文件管理器错误 "The requested URL/smb/web/file-manager/dir//httpdocs was not found on this server."