1

以前はセロリと一緒にローカルの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 にアクセスするたびに、sentry ログインにリダイレクトされます (ポート 9000 ではないため、ログイン後に内部サーバー エラーが発生します)。また、コンソールからログを見ると、ファイルの最後にSuspiciousOperation: Invalid HTTP_POST header配置しないとエラーが表示されます。ALLOWED_HOSTS = ['*']settings.py

django アプリと Sentry の両方を同じ IP (localhost) と異なるポートでローカルに実行するにはどうすればよいですか?

4

1 に答える 1

0

どちらも Django アプリなので、デフォルトでポート 8000 で実行する必要があります。ただし、runserverコマンドはポートを引数として受け入れるため、Sentry の実行方法に応じて、別のポートを渡すことができます。python manage.py runserver 9000そのポートで実行されます。runserverポート 8000 を使用するように Sentry の設定を更新するだけで済みます。ローカルで使用している場合は、Sentry のコマンドにポートを渡すことができます。

于 2014-10-06T19:56:23.723 に答える