【问题标题】:django - nginx+fastcgi --> Unhandled Exception (after upgrade from Django 1.2.4 to Django 1.3)django - nginx+fastcgi --> 未处理的异常(从 Django 1.2.4 升级到 Django 1.3 后)
【发布时间】:2011-08-22 17:31:05
【问题描述】:

我刚刚从 django 1.2.4 升级到 1.3。

我将 nginxfastcgi 结合使用,出于某种原因,每次我访问页面时都会收到此错误:

Unhandled Exception

An unhandled exception was thrown by the application.

任何想法可能是什么问题?

【问题讨论】:

  • 您能否将 pastebin 添加到您的 error.log 中,也许还有配置文件。
  • @ashwoods 我在 /var/log/nginx/localhost.error_log 中找到了一些东西:文件“/usr/local/lib/python2.6/dist-packages/django/core/handlers/base .py",第 51 行,在 load_middleware 中引发异常。ImproperlyConfigured('Middleware module "%s" does not defined a "%s" class' % (mw_module, mw_classname)) ImproperlyConfigured: Middleware module "django.middleware.http" does从上游读取响应标头时未定义“SetRemoteAddrFromForwardedFor”类”,客户端:192.168.1.1,服务器:mysite.com,请求:“GET /home/ HTTP/1.1”,上游:“fastcgi://127.0.0.1: 1234”,主机:“mysite.com”

标签: django nginx fastcgi django-settings mod-fastcgi


【解决方案1】:

为了解决这个问题,我在 /usr/local/lib/python2.6/dist-packages/django/middleware/http.py 中添加了这个类(实际上什么也没做)

class SetRemoteAddrFromForwardedFor(object):
    """
    This middleware has been removed; see the Django 1.1 release notes for
    details.

    It previously set REMOTE_ADDR based on HTTP_X_FORWARDED_FOR. However, after
    investiagtion, it turns out this is impossible to do in a general manner:
    different proxies treat the X-Forwarded-For header differently. Thus, a
    built-in middleware can lead to application-level security problems, and so
    this was removed in Django 1.1

    """
    def __init__(self):
        import warnings
        warnings.warn("SetRemoteAddrFromForwardedFor has been removed. "
                      "See the Django 1.1 release notes for details.",
                      category=DeprecationWarning)
        raise MiddlewareNotUsed()

【讨论】:

    【解决方案2】:

    您需要追踪您的 fastcgi 错误日志。里面应该有更详细的信息。

    【讨论】:

    • 我不确定 fastcgi 是否有错误日志,但我查看了 /var/log/nginx/error.log 并没有找到任何东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 2016-10-03
    • 2015-04-16
    • 1970-01-01
    相关资源
    最近更新 更多