2014-01-06 5 views
1

Я установил локальный сервер django вместе с сельдереем, который раньше находился в 127.0.0.1 (я мог настроить порт при выполнении команды python manage.py runserver <port>).Локальный сервер Django перенаправляет сервер Sentry

Затем я хотел настроить 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:[email protected]: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) и на разных портах?

ответ

0

Оба являются приложениями Django, поэтому они хотят запускать на порту 8000 по умолчанию. Однако команда runserver принимает порт в качестве аргумента, поэтому вы можете передать другой порт одному или другому в зависимости от того, как вы используете Sentry. python manage.py runserver 9000 будет работать на этом порту. Вам просто нужно обновить настройки Sentry, чтобы использовать порт 8000. В противном случае вы можете передать порт команде Sentry runserver, если вы используете это локально.

Смежные вопросы