本地Django服务器重定向到Sentry服务器



我已经安装了一个本地django服务器和芹菜,它曾经位于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时出错。设置哨兵后,我可以从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?

两者都是Django应用程序,因此默认情况下都希望在8000端口上运行。但是,runserver命令接受port作为参数,因此您可以根据运行Sentry的方式将不同的端口传递给其中一个或另一个。python manage.py runserver 9000将在该端口上运行。您只需要更新Sentry设置即可使用8000端口。否则,如果您在本地使用,则可以将端口传递给Sentry的runserver命令。

相关内容

  • 没有找到相关文章

最新更新