Локальный сервер 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 *
потому что в противном случае я получил бы ошибки с вороной с некоторыми переменными часового. После настройки Sentry я мог получить к нему доступ 127.0.0.1:9000
,
Но я не могу получить доступ к своему приложению Django. Каждый раз, когда я захожу на 127.0.0.1:8000, меня перенаправляют на часовой вход (который выдает внутреннюю ошибку сервера после входа в систему, поскольку ее нет на порту 9000). Также, просматривая логи с консоли, я вижу SuspiciousOperation: Invalid HTTP_POST header
ошибка, если я не поставлю ALLOWED_HOSTS = ['*']
в конце моего settings.py
файл.
Как запустить приложение django и Sentry локально на одном IP-адресе (localhost) и на разных портах?
1 ответ
Оба являются приложениями Django, поэтому по умолчанию они будут работать на порту 8000. Тем не менее runserver
Команда принимает порт в качестве аргумента, поэтому вы можете передать другой порт одному или другому в зависимости от того, как вы используете Sentry. python manage.py runserver 9000
будет работать на этом порту. Вам просто нужно обновить настройки Sentry, чтобы использовать порт 8000. В противном случае вы можете передать порт Sentry's. runserver
Команда, если вы используете это локально.