Rack-Bug パネルが Rails アプリに表示されません
-
19-09-2019 - |
質問
Rails アプリに Rack-Bug をインストールしましたが、パネルを表示できません。
プロジェクト: http://github.com/brynary/rack-bug追加の指示: https://github.com/brynary/rack-bug/wiki/securityさらに詳しい説明: ラックバグインストールの問題。サーバーが起動しない(このドキュメントは本当に最悪です)
上から:
config.middleware.use 'Rack::Bug' を config/environments/development.rb に追加しました。次の内容を含むファイル config/initializers/rack_bug.rb を追加しました。
require 'rack/bug'
require 'ipaddr'
ActionController::Dispatcher.middleware.use Rack::Bug,
:ip_masks => [IPAddr.new('192.168.2.2')],
:secret_key => 'epT5uCIchlsHCeR9dloOeAPG66PtHd9K8l0q9avitiaA/KUrY7DE52hD4yWY+8z1',
:password => 'password'
(デスクトップの IP アドレスを指定しました。アプリは .2.3 の Linux 開発サーバーで実行されています)
/に行ってきましたラックバグ/bookmarklet.html にアクセスし、「Toggle Rack::Bug」ブックマークレットを Firefox ブックマーク ツールバーにドラッグしました。Rails アプリにページをロードし、「Toggle Rack::Bug」ブックマークレットをクリックし、ポップアップ ボックスにパスワードを入力して [OK] をクリックすると、ページがリロードされましたが、Rack-Bug パネルはありませんでした。
なぜ機能しないのかは不明ですが、そのための IRC チャネルや Google グループもありません。
アップデート:そして楽しみは去り続けます。Windows デスクトップ上の Firefox からパネルをロードする作業はまだ進んでいません。ただし、Linux 開発サーバーで Firefox を起動し、ブックマークレットを取得して、アプリのホームページに移動してクリックしました。パスワードを入力して再ロードすると、500 エラーが発生しました。ログ出力の最初の 4 行は次のとおりです。
Status: 500 Internal Server Error
undefined method `length' for #<Pathname:/home/ofer/src/ssp3>
/usr/lib/ruby/gems/1.8/gems/ruby-openid-2.1.7/lib/openid/extras.rb:3:in `starts_with?'
/home/ofer/src/ssp3/vendor/plugins/rack-bug/lib/rack/bug/panels/sql_panel/query.rb:65:in `filtered_backtrace'
つまり、最初の問題はまだ解決していませんが、今、最初の問題を解決したとしても残るであろう 2 番目の問題を発見しました。2 番目のエラーは、開発サーバー上の Firefox を暗示しているようです。 だった エラーが発生したときに実際にパネルをロードします。これは明らかにruby-openidの内部にあります。
以前よりもさらに後退しているように感じます。
解決
私の推測: http://github.com/SamSaffron/rack-bug/commit/16daa41b0ac9513e2d0a2b09ad9941fcb9c5d189
同じ問題があったのでそのパッチを書きました。プルリクエストをします
他のヒント
私も同じ問題を抱えていましたが、少しいじってみたところ、ブラウザのキャッシュを使用せずにページをリロードする必要があることがわかりました(つまり、プレス Ctrl-F5)
Linux 開発サーバーはデスクトップと同じサブネット上にありますか?そうでない場合は、サーバーに表示されるデスクトップの IP アドレスを指定する必要があります。たとえば、デスクトップの IP アドレスは 192.X.X.X ですが、運用サーバーからは ISP のゲートウェイを経由してルーティングされるため、84.X.X.X として表示されます。