Локальный сервер 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 Команда, если вы используете это локально.

Другие вопросы по тегам