在生产服务器上,我不断收到与此类似的错误
[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文件中允许的主机中。我想知道这个错误到底是什么,这些机器人吗?以及忽略它们是否安全
答案 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