【发布时间】:2014-01-23 08:07:21
【问题描述】:
我已经设置了一个本地 django 服务器以及 celery,它曾经位于 127.0.0.1(我可以在运行命令 python manage.py runserver <port> 时调整端口)。
然后,我想为我的应用设置 Sentry。我按照快速入门说明执行此操作。这是我在sentry.conf.py中修改的内容
SENTRY_URL_PREFIX = 'http://sentry.localhost'
SENTRY_WEB_HOST = 'localhost'
SENTRY_WEB_PORT = 9000
ALLOWED_HOSTS = ['*']
这是我在settings.py中修改的内容
INSTALLED_APPS = (
'sentry',
'raven.contrib.django',
'raven.contrib.django.raven_compat'
)
SENTRY_CLIENT = 'raven.contrib.django.raven_compat.DjangoClient'
RAVEN_CONFIG = {
'dsn' : 'http://private:public@localhost:9000/2?timeout=10',
}
from sentry.conf.server import *
我必须添加ALLOWED_HOSTS = ['*'],否则python manage.py raven test 会由于可疑标题而失败。而且我必须添加from sentry.conf.sever import *,因为否则我会在没有设置一些哨兵变量的情况下遇到 raven 错误。设置 Sentry 后,我可以从 127.0.0.1:9000 访问它。
但是,我无法访问我的 django 应用程序。每次我去 127.0.0.1:8000 时,我都会被重定向到哨兵登录(登录后会出现内部服务器错误,因为它不在端口 9000 上)。此外,从控制台查看日志,如果我没有将 ALLOWED_HOSTS = ['*'] 放在 settings.py 文件的末尾,我会看到 SuspiciousOperation: Invalid HTTP_POST header 错误。
如何在同一 IP (localhost) 和不同端口上本地运行 django 应用和 Sentry?
【问题讨论】:
标签: python django sentry raven