チケット #340 (closed 不具合: fixed)
TableBrowserから取得したデータセット内のリンク「display at UCSC main / test」のリンクを開くとエラーになる
報告者: | t-hatakeyama | 担当者: | t-hatakeyama |
---|---|---|---|
優先度: | 納品までには解決したい | マイルストーン: | |
コンポーネント: | Galaxy | バージョン: | |
キーワード: | 関係者: | ||
GanttChart表示: | OFF | 依存TaskNo: | |
開始予定日: | YYYY/MM/DD | 終了予定日: | YYYY/MM/DD |
説明 (最終更新者: t-hatakeyama) (diff)
現象はふたつ。
現象(1)
galaxy.dbcls.jpでデータセットのUCSCへのリンクを押すと白い画面が出てくる。
(小野さんにレポートいただいたのはこちら)
原因
galaxy.dbcls.jpのproxy.cgiがリダイレクトに対応していないため、Galaxyが「UCSCへのリダイレクトを促すレスポンス(302 Found)」をブラウザへ返そうとしても、間にいるproxy.cgiが「中身が空のレスポンス(200 OK)」に変更してブラウザへ返してしまうため。
対応
proxy.cgiをリダイレクトに対応させる。
修正はすでに実施済みだが、galaxy.dbcls.jpへは対応版がまだインストールされていない状態。次回galaxy.dbcls.jpリリース時に対応する予定。
- galaxy.dbcls.jp
- 未対応
- test-galaxy.dbcls.jp
- 対応済み
現象(2)
test-galaxyでデータセットのUCSCへのリンクを押すと、galaxyからデータを持ってこれないことに起因するエラーメッセージが表示される。
原因
表示用のデータ取得のためUCSCのテーブルブラウザ側からGalaxyにアクセスしようとするもOpenID認証に阻まれてデータを取得できないのが原因。
参考になりそう
対応
以下を参考に、特定のURLはOpenID認証を行わないようにした。
http://bitbucket.org/galaxy/galaxy-central/wiki/Config/ApacheProxy
やったこと
1. /root/display_as に穴を開ける - apacheの設定 - ucscからのリクエストのみ
2. proxy.cig で /root/display_as へのリクエストの場合はucsc用のリモートユーザとして扱うようにした
- REMOTE_USERがないと落ちていたのを落ちないように修正
- SCRIPT_URLが /root/display_asの場合はucscからのリクエストとみなし、REMOTE_USERに ucsc_browser_display@… をセットするようにした
- 本当はremote_user.pyに実装済みなのだけど、proxy.cgi を通してのucscからのリクエストはREMOTE_ADDRがlocalhostになってしまうため、ucscからのリクエストとしてみなされないため普通のリクエスト同様に認証エラーとなってしまう