我的简单Django应用程序在调试模式(manage.py runserver)下运行良好,在我的开发设备上可以在WSGI+Apache下运行,但当我推到EC2时,我开始收到我try 查看的任何URL(无论是在我的应用程序中还是在Django admin中)的间歇性错误(10-80%的时间)Bad Request (400).

我在哪里可以找到有关这方面的调试信息?/var/log/apache2/error.log中没有任何内容,即使是LogLevel=info中也是如此.我判断了版本,记录了请求环境(参见ModWSGI Debugging Tips),没有看到重大差异.

我剩下的一个 idea 是,我正在使用Ubuntu12.04(libapache2 mod wsgi 3.3-4build1)中的mod_wsgi,它是根据Python 2.7.1构建的;我有Python 2.7.3.Django是1.6,比Ubuntu的精确版本更新.我不太愿意从源代码开始构建软件包,因为它很难清理,而且这些看起来像是微小的版本更改...

Thank you for your help.

(For reference, here are the Apache config and WSGI apps)

Apache配置(默认)

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www
    WSGIScriptAlias /rz /usr/local/share/rz/rz.wsgi
    ...

rz.WSGI应用程序

import os
import sys
import django.core.handlers.wsgi
import pprint

path = '/usr/local/share/rz'
if path not in sys.path:
    sys.path.insert(0, path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'rz.settings'

class LoggingMiddleware:
    def __init__(self, application):
        self.__application = application

    def __call__(self, environ, start_response):
        errors = environ['wsgi.errors']
        pprint.pprint(('REQUEST', environ), stream=errors)

        def _start_response(status, headers, *args):
            pprint.pprint(('RESPONSE', status, headers), stream=errors)
            return start_response(status, headers, *args)

        return self.__application(environ, _start_response)

application = LoggingMiddleware(django.core.handlers.wsgi.WSGIHandler())

推荐答案

将ALLOWED_HOSTS设置添加到settings.py,如下所示.

ALLOWED_HOSTS = [
    '.example.com', # Allow domain and subdomains
    '.example.com.', # Also allow FQDN and subdomains
]

我也有同样的问题,结果找到了答案here in the docs

更新:Django 1.6文档不再在线,我更新了链接,转到Django 1.7 Docs for ALLOWED_HOSTS设置.

Django相关问答推荐

Django逆转ForeignKey返回无

使用django直接计算geohash而不创建模型

""关系"core_Boundary_summary的列user_id中的空值"违反了非空约束|失败行包含(2,title,string,null)

如何从列中捕获数据并将其添加到下拉菜单中,以便表单填充另一个表

为特定表行更新或创建

AttributeError:模块rest_framework.serializers在 Swagger 中的 Django 中没有属性NullBooleanField

Django:如何在表单 clean() 方法的 django 验证错误中添加 超链接?

Django 模板文件夹

DeleteView 中的success_message 未显示

获取结果集中返回的元素数的 django 模板标签是什么?

使用基于类的 UpdateView 在 Django 中更新用户模型

在 Bootstrap 中使单击的选项卡处于活动状态

使用移动应用程序保护通信 [真实性、隐私和完整性]?

在 Django 网站上找不到页面 404?

如何使用 django 发送 POST 请求?

django 模板中对象的模型名称

在 Django 中扩展 urlize

响应发送到客户端后在 Django 中执行代码

警告:找不到分发的 svn 位置==0.6.16dev-r0

Django 字符串到日期格式