回答受付が終了しました

docker reviewboard 導入 Bad Request (400) 質問

回答(2件)

site/conf/settings_local.py のALLOWED_HOSTSにlocalhostが無いと400になるみたいです。 ですが、こんなに面倒なことをしなくてもオフィシャルで docker のイメージが配布されているので、こちらを利用するだけで良さげです。 https://github.com/reviewboard/reviewboard/tree/master/contrib/docker/examples mysqlを使いたければ docker-compose.mysql.yaml と nginx_templates/reviewboard.conf.template の2つのファイルをダウンロードして、 ローカルホストでアクセスする場合は docker-compose.mysql.yaml の30行目 - DOMAIN=reviews.example.com を - DOMAIN=localhost に変更 42行目の - NGINX_HOST=reviews.example.com を - NGINX_HOST=localhost に変更 nginx_templates/reviewboard.conf.template を nginx_templates/default.conf.template にファイル名を変更 8行目に listen [::]:${NGINX_PORT}; を追加 あとは docker-compse -f docker-compose.mysql.yaml up -y で起動します。停止は docker-compse -f docker-compose.mysql.yaml down です。 アクセスするには、ブラウザで http://localhost を開きます。 参考にされているサイトでは、1つのコンテナに全て押し込んでいるので、docker的にオーケストレーションしていませんから、オフィシャルのコンテナの方が良いでしょう。ちょっとごちゃごちゃとやり過ぎな気がします。 docker を使うならサクッと立ち上げたいところです。 オフィシャルのイメージもnginxの設定が、localhostで動かすには、defaultのドメインとかぶっているので、上書き修正で動くようにしています。 1回目の起動ではDBが作られるまで時間がかかるので、reviewboardとnginxの起動が追い越してしまい、失敗しますが、少しおいてから、停止して、再度起動すれば動きます。

NEW! この回答はいかがでしたか? リアクションしてみよう

わかりませんが ステータスコード400のエラーの意味は クライアント側のエラーであり、 「クライアントから誤ったリクエストがされた」 というエラーです つまり、reviewboardのサーバー側でそのステータスコードを返す理由を定義しているはずです。 reviewboard/reviewboard/webapi/errors.py あたりに定義されてそうなので見てみてはどうでしょうか

私の理解力が低くてすいません。 /usr/lib/python2.7/site-packages/reviewboard/reviews/errors.py の内容見る限り、クラスファイルとエラーメッセージなどが記載されていました。 このエラーメッセージがどこかのログに吐かれると思ってるのですが、何処のログファイルに吐かれるか分かるようでしたら教えていただけたら幸いです。