生产服务器上的Django错误外部IP

时间:2018-07-17 09:24:45

标签: django

在生产服务器上,我不断收到与此类似的错误

[Django] ERROR (EXTERNAL IP): Invalid HTTP_HOST header: 't17.proxy-checks.com:443'. You may need to add 't17.proxy-checks.com' to ALLOWED_HOSTS.

我不知道为什么会出现此错误以及如何发生此错误。我应该忽略这些错误消息吗?

我已将我的域和专用IP添加到settings.py文件中允许的主机中。我想知道这个错误到底是什么,这些机器人吗?以及忽略它们是否安全

2 个答案:

答案 0 :(得分:1)

我正在将Elastic beantalk与uWSGI服务器和Web服务器前面的负载均衡器一起使用。负载平衡器每次都使用动态IP重定向请求。另一个原因是,EB正在向我的应用发送请求以检查应用运行状况。如果您使用的是Elastic beanstalk或EC2之类的服务,则这是两个常见原因。

要忽略发送到ADMINS或日志中的此类错误,我尝试了此方法,并且它起作用了。

检查Django Docs on this topic以获得更多详细信息

settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse',
        },
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
        },
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'filters': ['require_debug_false'],
            'include_html': True,
        },
        'null': {
            'class': 'logging.NullHandler',
            'filters': ['require_debug_false'],
        },
    },
    'loggers': {
        'console': {
            'handlers': ['console'],
            'propagate': True,
        },

        # Don't send invalid host error messages to ADMINS.
        # https://docs.djangoproject.com/en/dev/topics/logging/#django-security
        'django.security.DisallowedHost': {
            'handlers': ['null'],
            'propagate': False,
        },
        'admins': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
    }
}

如果您甚至不想将此错误转发给日志,请将django.security.DisallowedHost移到loggers的顶部。现在,它将以propagate=False的身份移至日志,但不会移至ADMINS

答案 1 :(得分:0)

在Django url(r'^_server_health$', status_api),或类似ALLOWED_HOSTS = ['*']的设置中 ALLOWED_HOSTS